Tracker: deep-review delivery rework
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 1
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 7
Description
Tracker for milestone deep-review: delivery rework. This issue is the overview — it stays open until every issue below is closed, and is the last issue to close when the milestone closes.
What this tracks
/deep-review was built for one channel and one reader: a terminal, read by the person who wrote the code. It's now being used to post comments on other people's PRs and to sweep 4–10 PRs at a time — two workflows it was never designed for. In those channels its defining feature (exhaustiveness, unbounded findings, synthesis at the bottom where a terminal reader's eye lands) becomes its defining failure.
The reframe this milestone is built on: the fix is not "make the review shorter" — a short review is a worse review. It's separating the review artifact (complete, exhaustive, unchanged) from its delivery (compact, audience-specific, per-channel). One analysis, several renderings.
Three audiences, currently served by one blob:
| Audience | Wants | Medium |
|---|---|---|
| Reviewer running a sweep | triage across N PRs, drill down on demand | table / artifact |
| PR author | what blocks merge, where, why — nothing else | short PR comment + inline anchors |
| Agent (ours or the author's, later) | full structured findings, stable identifiers | machine-readable payload |
Full framing, first-principles argument, and the ideas that didn't make the cut: #217.
Issues
| # | Issue | Role | Ready? |
|---|---|---|---|
| #217 | Design discussion — framing, goal, delivery model | decisions | open now — gates everything except #220 |
| #218 | Structured findings as the canonical intermediate form | foundation | after #217 §6.1/§6.2 |
| #219 | PR-comment renderer — verdict-first + inline anchored blockers | delivery | after #218 |
| #220 | Auto-resolve the work item, grade against acceptance criteria | capability gap | ready to start |
| #221 | Multi-PR sweep — triage table + drill-down artifact | delivery | after #218 |
| #222 | Delta re-review — fixed / still-open / new across rounds | delivery | after #218 + #219 |
Sequencing
- #220 is unblocked and can start today. It's a capability gap, not a design question: deep-review never fetches the intent behind the work, so Step 4 "Feature Fitness" grades against what the author said they did rather than what was asked for. Only where its acceptance-criteria checklist lands in the output depends on the renderer.
- #218 is the keystone. Every other delivery is a projection of a finding set. Build them on re-parsed prose and each one is fragile independently.
- #219 owns the PR comment, which is where #222's round-to-round state lives — hence #222 needing both.
- #221 and #222 are independent of each other and can run in parallel once #218 lands.
Decisions still open (from #217 §6)
These gate #218 and everything downstream. Tick as they're settled:
- The goal. "Every defect found before merge" and "PRs land in two days" are different objectives; the skill currently optimizes only the first. Proposed: merge confidence per round trip.
- One skill or two. Does
/deep-reviewgrow channel-aware rendering, or does a separate/post-reviewconsume its output? The second composes better with #163 and #164. - The canonical intermediate form. What a finding record contains, and whether
blockingis independent of severity. - What the PR comment contains by default. 💡 suppressed entirely, or collapsed in
<details>? - Who casts the vote. The sweep suggests one — is the skill ever allowed to cast it?
- Confirm exhaustiveness survives. It should stay unchanged in the artifact; only delivery is gated. Worth stating explicitly before anyone starts cutting review depth.
Not in scope
- Changing what deep-review finds. Severity assignment (#211), review blind spots (#91), and pre-flight mechanical scanning (#181) are adjacent and cross-linked, but they're about analysis quality, not delivery. Deliberately left out so this milestone doesn't become "deep-review in general."
- The other half of the round trip — #163 (respond to PR feedback) and #164 (verify resolution). They consume whatever format #219 produces, so the format needs to suit them, but they aren't blocked on this work.
Status
- 2026-08-21 — Milestone opened. #217 filed with the framing; #218–#222 filed as the implementation split. #220 is ready to pick up; everything else waits on the §6 decisions.
Closing condition
Close this issue when #217 and #218–#222 are all closed (or explicitly dropped, with the reason noted here), and the milestone is ready to close behind it.
Note on relationships: GitHub's Blocked by links are GraphQL-only and weren't reachable from the session that filed these, so dependency order lives in each issue's Depends on section and in the Sequencing table above. The sub-issue list on this tracker provides the progress rollup. Adding the formal blocked-by edges later is a small cleanup — the addBlockedBy snippets are in standards/CLAUDE.md.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading #217 for the open design decisions and #220, the only listed work item marked ready to start. The tracker is complete when #217 and #218–#222 are closed or explicitly dropped with reasons, after which the milestone can close.
Written by the indexing model from the issue text.
Assessment
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100