Skip to content

Ack a post-review delta from a summary (pr-flow 1.9.0, ws 1.29.0) - #92

Open
gering wants to merge 1 commit into
mainfrom
task/summarize-merge-delta-ack
Open

gering wants to merge 1 commit into
mainfrom
task/summarize-merge-delta-ack

Conversation

@gering

@gering gering commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Why

On #91 /merge step 6b printed a ~278-line diff-of-diffs and asked "[a]cknowledge — I have read this delta". Nobody reads that; the ack recorded something that did not happen (follow-up F9).

What

  • /merge step 6b and /land: the model reads the full delta itself and shows a plain-language summary, one line per file: kind of change (version renumbering, from main, agreed review fix, new code, unclear), size, and whether it touches code the review saw. The raw diff is shown only on [d].
  • Prompt: [a]cknowledge — merge this change without a re-review / [d]iff — show the raw delta / [r]e-review — stop; run a review round instead / [s]top.
  • Honesty rules: no "only X" unless every file line is X; "from main" only at lane=0; "agreed fix" only with includes_agreed_fixes=yes and only for hunks the text shows to be one.
  • mandate.sh delta prints delta_files= + delta_file=<new|gone|changed> lane= context= versions_only= path= above delta_begin, computed per file from the two raw lane diffs. A diff-of-diffs hunk often has its file header outside its context, so the counts don't depend on reading hunks. Header/body lines are tagged while splitting, so a lane line -- x is never taken for a file header, and a mode change counts as lane content.
  • Unchanged: acknowledged --ack-id (the list sits outside the hashed text), the diff-changed refusal, user-only answers, and the approximate/binary/unreadable/truncated refusals.

Tests

  • test_mandate.py: the file list, versions-only, context-only (main moved the lines around a lane hunk), new file, header-lookalike line, mode change.
  • test_land.py: prose assertions for the four options, the ack wording (no "I have read"), summary rules, refusals.
  • Known red outside this PR: main's Structure Checks already fail on the Ubuntu runner (test_close_request.py/test_landing.py symlink FileExistsError on /bin vs /usr/bin). Locally, swarm/test_codex_models.py times out under load, on main too.

🤖 Generated with Claude Code

https://claude.ai/code/session_013pcrPYhUMWQ1gkrrqtSmic

@gering
gering force-pushed the task/summarize-merge-delta-ack branch 2 times, most recently from 4dc5b77 to cf4404e Compare October 26, 2026 15:51
- /merge step 6b and /land read the full delta and show a plain-language
  per-file summary (kind, size, reviewed-logic impact) instead of the diff
- Prompt: [a]cknowledge (merge without a re-review) / [d]iff / [r]e-review /
  [s]top; the ack no longer claims the user read the diff
- mandate.sh delta prints delta_file= lines (lane vs. context lines,
  versions_only) above delta_begin, outside the acked text; ack_id and all
  refusals are unchanged
- Tests for the file list and prose assertions for the four options

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013pcrPYhUMWQ1gkrrqtSmic
@gering
gering force-pushed the task/summarize-merge-delta-ack branch from cf4404e to 1776842 Compare October 26, 2026 16:12
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.

1 participant