Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bright-review-maps-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'neondeck': patch
---

Show per-file PR review status in the changed-file tree and add a shared cross-file cursor foundation for files, hunks, threads, drafts, findings, and combined attention items.
7 changes: 7 additions & 0 deletions .plans/DEVIATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ Use this format:
- Follow-up: What remains, who/what should handle it, or `None`.
```

## 2026-07-18 - Diff Review Performance Reconciliation

- Roadmap item: Diff Improvements Plan / transition from Phase A to Phase B
- Decision: Mark the specialized PR review performance plan complete for now and unpause Phase B while explicitly deferring the production tree median (642 ms versus <500 ms), one-time cold local object fetch (4,978 ms versus <3,000 ms), and uncached review-thread surface/read latency (1,511 ms surface and 655 ms initial GitHub-backed read versus the warm path's <500 ms target). Retain the specialized plan in place instead of archiving it while those measured misses remain.
- Reason: Stable query identity, bounded immutable metadata reuse, active-patch prioritization, and bounded warm thread reuse delivered passing warm first-patch and thread medians and removed duplicate/abandoned work. The remaining misses are measured, isolated follow-ups that do not require overlapping changes in the Phase B review-map/cursor seam, but they must not be represented as passing or erased.
- Follow-up: Reprofile the production tree boot/query/render boundary; separate cold network object-fetch time from local metadata before changing refspecs or the <3-second budget; and evaluate uncached GitHub thread latency without weakening cancellation or mutation invalidation. Remeasure the retained immutable real PR before changing any budget, then archive `.plans/PR_REVIEW_PERF_PLAN.md` only after these deferrals are reconciled.

## 2026-07-17 - Diff Review Phase A Sequencing

- Roadmap item: Diff Improvements Plan / transition from Phase A to Phase B
Expand Down
15 changes: 8 additions & 7 deletions .plans/DIFF_IMPROVEMENTS_PLAN.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Diff Improvements Plan

Status: active; Phase A implementation is complete in PR #143, Phase B is paused, and the specialized PR review performance workstream has resumed
Status: active; Phase A implementation is complete in PR #143, Phase B is active, and the specialized PR review performance workstream is complete for now with measured misses explicitly deferred

Progress note (2026-07-18): the specialized large-PR work now has real registered-PR measurements, stable review-thread identity, bounded local metadata reuse, active-patch priority, and a passing first-patch browser budget. Reconciliation after Phase A found that production tree visibility, review-thread visibility, and the one-time cold-object fetch still miss their retained budgets in `.plans/PR_REVIEW_PERF_PLAN.md`.
Progress note (2026-07-18): the specialized large-PR work now has real registered-PR measurements, stable review-thread identity, bounded local metadata reuse, active-patch priority, and passing first-patch and warm review-thread browser budgets. The workstream is complete for now. Production tree visibility, the one-time cold-object fetch, and uncached review-thread latency still miss their retained budgets and remain explicit future follow-ups in `.plans/PR_REVIEW_PERF_PLAN.md`; those misses have not been reclassified as passes.

Sequencing correction (2026-07-17): retain the completed Phase A foundation and PR #143, but do not advance into Phase B yet. Phase A was selected while the specialized performance plan still had partial acceptance; that ordering change was not an implicit deferral of the remaining measured misses. Resume the real registered-PR performance work first, beginning with review-thread latency, then reconcile tree visibility and the cold-fetch decision. Phase B remains paused until those items pass or are explicitly deferred with recorded rationale.
Historical sequencing correction (2026-07-17): retain the completed Phase A foundation and PR #143, but do not advance into Phase B yet. Phase A was selected while the specialized performance plan still had partial acceptance; that ordering change was not an implicit deferral of the remaining measured misses. Resume the real registered-PR performance work first, beginning with review-thread latency, then reconcile tree visibility and the cold-fetch decision. This pause was lifted on 2026-07-18 after the remaining misses were explicitly deferred with recorded rationale; the original correction remains here for audit history.

Contract note (2026-07-18): `shared/review-source.ts` now defines the versioned source, revision, repository, capability, ordered-file, and explicit patch-state vocabulary used by every current web diff surface. GitHub PRs use head SHA identity; prepared and Kilo/repo worktree views receive content-addressed changed-path fingerprints from metadata reads; skill patches and historical repo-edit events use retained content hashes. Missing identities remain explicitly unavailable rather than falling back to timestamps. The current viewers expose source/revision metadata on their mounted roots, ready for the Phase A registration and navigation event layer. On a synthetic 305-file changed worktree, metadata plus revision identity measured 335.5 ms median versus 243.0 ms for metadata alone (92.5 ms added), within the 500 ms warm-tree budget.

Expand All @@ -14,7 +14,7 @@ Fixture note (2026-07-18): `npm run bench:review-fixtures` now builds determinis

Related plans:

- `.plans/PR_REVIEW_PERF_PLAN.md` — active large-PR data-path and performance workstream
- `.plans/PR_REVIEW_PERF_PLAN.md` — complete-for-now large-PR data-path and performance workstream with explicit deferred misses
- `.plans/OTHER_PEOPLE_PR_REVIEW.md` — current human PR review workflow
- `.plans/archived/DIFF_UI_PLAN.md` — landed Pierre diff/tree adoption
- `.plans/archived/DIFF_REVIEW.md` — earlier diff review research and interaction planning
Expand Down Expand Up @@ -545,7 +545,7 @@ before relaxing a gate.

### Phase B — Guided review

1. Add review-map decorations and pure cross-file cursors.
1. **Completed —** Add review-map decorations and pure cross-file cursors.
2. Add visible navigation controls, scoped shortcuts, and help.
3. Add typed Neon finding application and inline rendering with provenance.
4. Add explicit promote-to-draft and promote-to-revision flows.
Expand Down Expand Up @@ -637,8 +637,9 @@ before relaxing a gate.
- Add a changeset for each user-facing implementation phase.
- Record deviations or deferrals in `.plans/DEVIATIONS.md` when implementation changes this priority
order, trust boundary, performance gate, or surface coverage.
- Keep `.plans/PR_REVIEW_PERF_PLAN.md` as the specialized performance implementation plan until that
work lands; then archive it and preserve this document as the broader diff product roadmap.
- Retain `.plans/PR_REVIEW_PERF_PLAN.md` as the specialized performance implementation record while
its measured tree, cold-fetch, and uncached-thread misses remain deferred; archive it only after
those follow-ups are reconciled, and preserve this document as the broader diff product roadmap.

## Definition of Done

Expand Down
38 changes: 32 additions & 6 deletions .plans/PR_REVIEW_PERF_PLAN.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
# PR Review / File Tree Performance Plan

Status: phases 1–5 implemented; real-PR verification, request-path remediation, active-patch prioritization, and warm review-thread remediation complete; tree and cold-fetch decisions remain
Status: complete for now; phases 1–5, real-PR verification, request-path remediation, active-patch prioritization, and warm review-thread remediation are complete; the missed tree, cold-object-fetch, and cold-thread budgets are explicitly deferred below
Prior art: `.plans/archived/DIFF_UI_PLAN.md`, `.plans/archived/DIFF_REVIEW.md`

## 2026-07-18 completion-for-now decision

This specialized workstream is complete for now, not complete against every
retained budget. The production tree median remains 642 ms against the <500 ms
target. The one-time cold local object fetch remains 4,978 ms against the
<3,000 ms target. The uncached lean review-thread surface remained 1,511 ms,
and its initial GitHub-backed read remained 655 ms, outside the warm UI path
that reached a passing 459 ms median through bounded 15-second reuse. These
misses are deferred future performance work; none is reclassified as passing.

The implemented data path, immutable measurements, and completed remediation
items remain active foundations for the broader diff plan. Phase B can proceed
because the remaining misses are now explicit, measured deferrals rather than
unreconciled acceptance gaps. Future work should remeasure the same immutable
target before changing implementation or relaxing a retained budget.

## 2026-07-18 shared Phase A fixture baseline

The broader diff-improvements Phase A now has deterministic 8-file, 90-file,
Expand Down Expand Up @@ -351,16 +367,26 @@ resources. The cold first read remains explicitly outside the warm-cache pass.
now uses an 84.7% smaller query response plus a bounded 15-second cache with
mutation invalidation and race protection. Production thread visibility is
459 ms median, while the full-fidelity Flue action is unchanged.
5. **Discuss later — revisit cold fetch.** The 4.98-second object fetch misses the target,
5. **Deferred — revisit cold fetch.** The 4.98-second object fetch misses the target,
but it is a one-time revision cost. Separate network fetch time from local
metadata time before changing refspecs or the `<3s` budget.

Acceptance is partial on the same real target: duplicate thread requests and
6. **Deferred — revisit production tree visibility.** The final 642 ms median
remains 142 ms over the `<500 ms` budget even though the warm backend
diagnostic passes. Profile the production boot/query/render boundary before
changing Pierre or the tree budget.
7. **Deferred — revisit uncached review-thread latency.** Bounded warm reuse
brings the median to 459 ms, but the uncached lean surface remained 1,511 ms
and the initial GitHub-backed read remained 655 ms. Preserve mutation
invalidation and cancellation while evaluating any more durable reuse or
GitHub query-path change.

Acceptance remains partial on the same real target: duplicate thread requests and
settlement-driven abandoned patch reads are eliminated, the first-patch browser
budget now passes, warm thread visibility passes on the median, backend targets
pass, and fallback code is unchanged. The tree and one-time cold-object budgets
still miss and remain separate follow-ups; a cold GitHub thread read also
remains slower than the warm UI budget. Raw baseline, remediation, and
still miss and are explicitly deferred; a cold GitHub thread read also remains
slower than the warm UI budget and is explicitly deferred. The workstream is
complete for now on that basis. Raw baseline, remediation, and
active-priority results are
gitignored at
`benchmarks/results/pr-12204-real-local.json` and
Expand Down
Loading