Summary
Add structured progress logging to cr review and the review pipeline so long-running GitHub and LLM operations emit regular stderr breadcrumbs with symmetric start/finish timing and stable structured fields.
This follows the non-review progress logging slice already shipped in #363 and extends the same contract to the review path, which is now the highest-value gap.
Scope
Add review-path progress breadcrumbs for:
- top-level
cr review command envelope
- GitHub IO in and around PR metadata, installation/auth, checkout/diff/fetch, threads/comments, and posting
- LLM task lifecycle events, including provider, harness/adapter, model, reasoning effort, and task/session ids
- major review stages such as selection, slicing, per-agent execution, synthesis, and outbox/posting
- failure/retry/resume breadcrumbs, including resumed task/session identifiers where available
Logging contract
- progress writes to stderr only
- result payloads stay on stdout
--quiet suppresses progress only
- progress lines stay single-line, structured, and easy to substring-parse
- every meaningful IO/LLM/stage operation should be wrapped in symmetric
start / finish or error events with duration
Waypoints
- Review command envelope logging
- GitHub IO breadcrumbs
- LLM task/session lifecycle breadcrumbs
- Review stage breadcrumbs
- Resume / retry / error breadcrumbs and quiet-mode validation
Required empirical checks
Each waypoint commit must include a real local-binary verification that inspects stderr output from the built CLI before moving to the next waypoint. Unit tests alone are not sufficient.
Expected checks include:
- local
cr review ... --dry-run stderr contains the new waypoint breadcrumbs
- stdout payload shape is unchanged
--quiet suppresses progress while preserving stdout and ordinary error behavior
- resume/failure paths emit the expected stderr markers when reproducible locally
Acceptance criteria
- running
cr review in the terminal gives regular feedback during long GitHub and LLM operations
- stderr includes stable structured fields for command/op/target/duration and relevant LLM metadata
- failures and resumes leave visible breadcrumbs instead of silent stalls
- the implementation is covered by focused tests around the shared logging component and the review-path integration points
Summary
Add structured progress logging to
cr reviewand the review pipeline so long-running GitHub and LLM operations emit regular stderr breadcrumbs with symmetric start/finish timing and stable structured fields.This follows the non-review progress logging slice already shipped in #363 and extends the same contract to the review path, which is now the highest-value gap.
Scope
Add review-path progress breadcrumbs for:
cr reviewcommand envelopeLogging contract
--quietsuppresses progress onlystart/finishorerrorevents with durationWaypoints
Required empirical checks
Each waypoint commit must include a real local-binary verification that inspects stderr output from the built CLI before moving to the next waypoint. Unit tests alone are not sufficient.
Expected checks include:
cr review ... --dry-runstderr contains the new waypoint breadcrumbs--quietsuppresses progress while preserving stdout and ordinary error behaviorAcceptance criteria
cr reviewin the terminal gives regular feedback during long GitHub and LLM operations