Skip to content

fix(promises): name the pr-recap exception in the review acknowledgment claim - #321

Merged
mdsmithaustin merged 1 commit into
mainfrom
fix/ledger-recap-ack-315
Oct 26, 2026
Merged

mdsmithaustin merged 1 commit into
mainfrom
fix/ledger-recap-ack-315

Conversation

@mdsmithaustin

@mdsmithaustin mdsmithaustin commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Why

The ledger claim for babysit-body-only-finding-acknowledged-in-pr-comment said any author or maintainer comment with the review's URL acknowledges a bot review body. Since #305 the watcher ignores a comment that opens with the pr-recap start marker, so a grader reading the claim expected the wrong thing.

What changed

  • The claim now says the acknowledging comment must not open with the pr-recap start marker.
  • The claim's script check gains a case: an author comment that opens with the marker and links the review still leaves the watcher at exit 8.

Scope

Ledger text and one test case. No watcher code changes. Other text that states the rule already matched the code: babysit step 8 names the exception, and the guide and watcher hint only say what to post.

Blast Radius

Promise grading for one ledger entry. Low risk.

Verification

  • With the recap guard deleted from review-bodies.ts, the new case fails (the watcher returns READY). With the guard in place, it passes.
  • ledger.py audit: 0 problems. ledger.py format --check: exit 0.
  • tools/gate-check.sh lint passed. In the test tier, promise unit tests passed. One host.test.ts lookup case timed out at 5s under load and passes alone; this PR touches no TypeScript.
  • The existing review-bodies.test.ts case "rejects a pr-recap comment that links the review" covers the code path.

Closes #315

✅ Low: This change rewords one ledger claim and adds one test subtest. The new claim matches acknowledgment(), which checks trimStart().startsWith(RECAP_START) together with a trusted author and linksReview. The new subtest is a trusted author comment that starts with a newline and then the recap marker, and the . after the URL still satisfies linksReview. So only the recap guard keeps that comment from counting, and the subtest fails when the guard is removed.

Updates from git push no-mistakes

…nt claim

The ledger claim for babysit-body-only-finding-acknowledged-in-pr-comment
said any author or maintainer comment with the review's URL acknowledges a
bot review body. Since #305, acknowledgment() in watch-pr/review-bodies.ts
skips a comment that opens with the pr-recap start marker. The claim now
says so, and its script check gains a pr-recap case that fails when that
guard is removed.

Closes #315
@mdsmithaustin mdsmithaustin changed the title test: cover recap exclusion from review acknowledgments fix(promises): name the pr-recap exception in the review acknowledgment claim Oct 26, 2026
@mdsmithaustin

Copy link
Copy Markdown
Owner Author

Verdict: PASS+NOTES
Head: 4454c09
Patch-id: 981bd50d50d66c5aae0752536aff14aefac48c5a
Docs: pass

Root verdict from a full swarm at the code-ready head. Three lanes ran: gates and live (sonnet@high), claim vs code (sonnet@xhigh), and graders and ledger (sonnet@xhigh). The two review lanes stepped down from the opus work model.

  • Gates at head:
    • tools/gate-check.sh lint passes.
    • ledger.py audit reports 0 problems, and format --check exits 0.
    • The promise suite runs 848 tests OK on the pinned Python 3.14.7. On 3.14.8, one fsmonitor test errors identically on main.
    • CI is green.
  • Regression: deleting the recap guard in review-bodies.ts makes the new case fail with 0 != 8, because the watcher returns READY. Main already has the guard. This PR pins it with a test and corrects the claim.
  • Live: the real watcher, through the fake-gh sandbox:
    • keeps the bot review open for an author or member recap comment that links it, including one with leading whitespace;
    • clears it for a plain author comment, for a marker mid-body, and for a recap followed by a real acknowledgment.
    • Each case matches the new claim.
  • Consumers: nothing quotes or hashes the claim text, so no binding breaks.

Notes, filed as #325:

  • the new case pins only one direction of "opens with";
  • the claim omits the literal marker;
  • older claim and code differences (trust trio, Copilot scope, head-only, the 100-comment window);
  • ledger.py audit never compares a script claim with its test.

@mdsmithaustin
mdsmithaustin merged commit 708b54b into main Oct 26, 2026
7 checks passed
@mdsmithaustin
mdsmithaustin deleted the fix/ledger-recap-ack-315 branch October 26, 2026 04:58
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.

promises: the acknowledgment ledger claim omits the pr-recap exception from #305

1 participant