Skip to content

Phase D — make the rework cycle disappear#15

Merged
alejandro-nexcade merged 5 commits into
mainfrom
alejandro/phase-d-rework
Jul 2, 2026
Merged

Phase D — make the rework cycle disappear#15
alejandro-nexcade merged 5 commits into
mainfrom
alejandro/phase-d-rework

Conversation

@alejandro-nexcade

Copy link
Copy Markdown
Collaborator

What (ROADMAP Phase D)

  • Request→change pairing (D1): each dispatched request pairs with the interdiff span that answers it (side-aware, ±10-line tolerance, spans derived from the line maps). AddressedRequests becomes a clickable answered/total checklist; unmatched requests show an informational amber warning beside Approve — never blocking (§9).
  • Trajectory persistence surfaced (D2): every agent run persists a compact summary (Bash commands with confirmed ✓/✗, unresolved counted honestly rather than inflated, tool count, duration, final text). AgentPanel shows a last-run card when no live timeline exists — summary-first, raw log one click away, zero confidence displays (research §3 constraint). Evidence strip's "agent ran" slot now fills.
  • One-click stack restack (D3): dependency-ordered sequential restack behind an explicit confirm, live progress events, conflict → resolver dispatched + halt (descendants stay stale). TOCTOU closed: root + per-child agent re-checks mid-sequence.
  • Notify on reviewable (D4): config-gated background poller (min 30s) reusing the exact no-clobber fetch path; silent board-updated refresh + at most one coalesced OS notification per cycle for external transitions only (new review request, CI red→green, new commits). First cycle seeds silently; Reworked notifications stay owned by agent-completed (no double-notify).

Review round

Reviewer: ship-ready with one MAJOR (TOCTOU on the mid-sequence agent guard) — fixed with per-child + root re-checks and a detail-carrying halt event. Also fixed: sticky conflict note hiding the restack button, pending-at-end commands reading as ✓, cast style, checklist flash while the interdiff loads.

Verified

cargo fmt/clippy -D warnings/test --all (445+ & 11 poller-diff tests) · tsc strict · vitest 193 · vite build · reviewer pass + fix round.

🤖 Generated with Claude Code

LifeLex and others added 5 commits July 2, 2026 04:18
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TrajectoryAccumulator folds the event stream (Bash commands with ok
outcomes, tool counts, duration, final text) into an atomic
<slug>.trajectory.json next to the raw log at stream end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- restack_stack: dependency-ordered sequential restack with
  restack-progress events; conflict dispatches the resolver and halts;
  restack_pr shares the same helper
- notify poller: config-gated background fetch reusing the command's
  no-clobber path, board-updated event, coalesced Rust-side OS
  notifications for external transitions only (Reworked stays with
  agent-completed), first cycle seeds silently
- get_trajectory_summary + evidence agent_ran folded from the persisted
  trajectory

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…I, board refresh

pairRequests maps each dispatched request to the interdiff span that
answers it (side-aware, ±10 tolerance); AddressedRequests becomes a
clickable answered/total checklist with an informational unmatched
warning beside Approve (never blocking, §9). AgentPanel shows a compact
last-run trajectory card (summary-first, raw log stays the escape
hatch). StackContainer gains confirmed sequential restack with live
progress. board-updated refreshes silently; notify_poll_secs in Settings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ed commands

Per-child + root agent re-checks mid-sequence (halt with detail reason);
restack button re-enables after terminal conflict/error; unresolved Bash
commands are counted, not shown as passing; cast style; interdiff-gated
addressed panel.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alejandro-nexcade alejandro-nexcade merged commit dbe92af into main Jul 2, 2026
2 checks passed
@LifeLex LifeLex deleted the alejandro/phase-d-rework branch July 2, 2026 04:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants