feat(engine): finding + findings-summary surfaces — review-findings loop unified#491
Merged
Conversation
This was referenced Jul 21, 2026
Merged
Merged
…ings loop unified One payload-driven surface pair now serves both review-findings loops (planning and specification), whose reference files were near-identical twins. Tracking files are markdown, so the model reads them and hands a validated JSON payload; the gate mode is manifest state at the address, and the surface returns the gate menu or the post-apply auto line. Per-consumer verbs (apply/applied/feedback labels) ride in the payload. The diff presentation returns the boxed frame as three sections — open rule, diff body (emitted as a ```diff fence so colouring survives), close rule — with borders computed from content width and capped at 100 so the border itself never wraps. Both references swapped; menu, meta block, diff frame, summary overview, and auto lines all deleted from prose. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
leeovery
force-pushed
the
feat/render-findings-gates
branch
from
July 22, 2026 14:24
7169d34 to
d367029
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 2 of the render-surfaces programme (design log: #489; base: #490). The findings/approval family: one surface pair now serves both review-findings loops —
workflow-planning-processandworkflow-specification-processcarried near-identical ~240-line reference twins whose displays, frames, and gate menus all now come from the engine.Surfaces
render findings-summary <wu>.<phase>.<topic> --file <payload>— the numbered overview ({review_label} — N items found), summaries in the·subsection grammar, and the working-through line, one section.render finding <wu>.<phase>.<topic> --file <payload>— one finding end-to-end:DISPLAY: finding— title,[label, value]meta pairs (each consumer's own vocabulary), details.DISPLAY: finding content(markdown, full content) or as the framed diff in three sections — frame open, diff body emitted as a```difffence (colouring survives), frame close. Borders computed from actual content width (the Portal defect, fixed user-visibly) and capped at 100 so a border never wraps; unwrappable diff lines may overflow past the cap.MENU: finding gatewhenfinding_gate_modeis gated (withv/view fulloffered only for diff findings) orDISPLAY: finding auto-approvedwhen auto — per-consumer apply/applied/feedback labels ride in the payload.Contract notes: tracking files are markdown, so per D2 the model reads them and hands validated JSON (11 loud validation cases); the gate-mode read and branch left both prose files entirely.
Test plan
npm test— 1485/1485. Typecheck + conventions lint clean.🤖 Generated with Claude Code
Stack