docs(backlog): close two rows whose work is on main, and un-stale a third - #839
Open
wshallwshall wants to merge 1 commit into
Open
docs(backlog): close two rows whose work is on main, and un-stale a third#839wshallwshall wants to merge 1 commit into
wshallwshall wants to merge 1 commit into
Conversation
…hird Read the subject-exists screen's candidate list (BACKLOG #1426, open in PR 806, not yet on main) and verified candidates against the code rather than against the screen. CLOSED, both verified by driving rather than reading: #1392 the PR-609-after-ADR-0172 ordering constraint. 6e0a950 (ADR 0172, 07:29:46Z) and 671d575 (PR 609's edit, 08:31:45Z) are both ancestors of origin/main under merge-base --is-ancestor, in the required order. ADR file plus index row present. Both corrected files carry the excluded-topology caveat. A grep for "always serves TLS" in CLAUDE.md returns nothing and that negative is FALSE: the phrase wraps a line break. #1389 the CI guard that bound the wrong step. Fixed on main in e9fa3b4 (PR #733). _engine_step_invocations() returns exactly one hit, the engine step at ci.yml:852, not the tooling line at :1162. Two mutation controls fire and the unmutated file stays green. STILL OPEN, remainder sharpened: #1276 part A shipped in 6e0a950; the row still said origin/main carries NONE of it. That is the shape that costs a Builder. Corrected in place, with the one real remainder named: nothing re-mints an expired generated pair, which api/tls.py:114-117 states itself. Two findings about the screen, recorded in the report rather than here: its path-added-after signal is unsound under a shallow clone, and its verdict counts move with clone depth. Gates run in this worktree: backlog_status_check (OK, 657 items each with exactly one status), link_check (OK), backlog_citation_check (OK), banner_sha_check (10 findings, all pre-existing rows this diff does not touch), dangling_citation_check, citation_line_check, verdict_divergence (advisory, exit 0). pytest cannot run here: no dependencies installed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Collaborator
Author
Label disclosure, required by the Manager playbookI applied the The playbook this seat works to is explicit that a label recording my read of work I asked for is not an independent read of the scope, and that a later auditor cannot tell the difference unless it is written down. So it is written down here. What that means in practice:
Where I posted a separate technical comment on this pull request, that comment names what I verified myself and what I took on the Builder's report. Where I did not, treat the label as attesting only that a read happened. |
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.
Closes two backlog rows whose work is already on
main, and corrects a third that asserted the opposite of what shipped. Docs only, one commit,docs/BACKLOG.mdalone.Closed with evidence
#1392 — PR 609 had to land with or after ADR 0172. Both
6e0a950b6(ADR 0172, 07:29:46Z) and671d57501(PR 609's edit, 08:31:45Z) are ancestors oforigin/mainundergit merge-base --is-ancestor, an hour apart in the required order. Negative control: an invented sha, correctly refused. The ADR file is on main with its index row atdocs/adr/README.md:197.#1389 — a CI guard bound the wrong step.
e9fa3b440(PR #733) is an ancestor. Driving_engine_step_invocations()returns exactly one hit: jobtest, the engine step atci.yml:852, not the tooling line at:1162. Two mutation controls fire; the unmutated file stays green.Corrected, not closed
#1276 still claimed
origin/maincarries none of part A. That is false, and it is exactly the shape that costs a Builder a wasted dispatch. Sharpened in place; the row stays open because the audited re-mint genuinely does not exist —api/tls.py:114-117says so itself.How these were found
By running the subject-exists screen from PR 806 rather than writing another one. 14 candidates read: 2 closed, 6 partly shipped and correctly left open, 6 false positives. Every false positive came from a date-based signal firing on a landing the row already recorded; both closures came from date-free ancestry signals.
A control caught a fake pass
The first mutation battery reported PASS on both arms — because the replacement string never matched, so nothing was mutated. Printing whether the mutation changed bytes turned a fake pass into a real control. Separately,
grep "always serves TLS" CLAUDE.mdreturned nothing and that negative was false: the phrase wraps a line break.Known limitation, reported not hidden
The screen that produced these candidates is unsound under a shallow clone — its
path-added-aftersignal reports the graft boundary as an add date, and the candidate list moves with clone depth. Detail is on PR 806. This triage used the deepened run.Checks
backlog_status_checkOK (657 items, each exactly one status; both closed rows carry zero open banners, no duplicate fields).link_check,backlog_citation_checkOK.banner_sha_checkhas 10 findings, all on rows this diff does not touch; it caught one of mine and I fixed it.pytestcould not run in that worktree — no dependencies installed,ModuleNotFoundError: pydantic. The #1389 assertions were driven by loading the test module directly. Hosted-runner legs are unread from here.Not done
#1107, #1130 and #1183 have shipped code but close on a vault scorecard re-score, which is not a Builder's act. They need a vault seat.
🤖 Generated with Claude Code