Skip to content

docs: file the six ADR residuals no open item tracks, and correct 21 ADR records that misstate build state (BACKLOG #1497-#1502) - #1003

Merged
wshallwshall merged 3 commits into
mainfrom
claude/adr-review-d77264
Sep 9, 2026
Merged

docs: file the six ADR residuals no open item tracks, and correct 21 ADR records that misstate build state (BACKLOG #1497-#1502)#1003
wshallwshall merged 3 commits into
mainfrom
claude/adr-review-d77264

Conversation

@wshallwshall

@wshallwshall wshallwshall commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

What this is

An ADR-to-backlog sweep over all 172 numbered ADRs (173 files; 0013 carries a declared companion), cross-referenced against docs/BACKLOG.md and docs/archive/backlog/BACKLOG-CLOSED.md. The question asked was the owner's: is every ADR either built out, or on the backlog?

Two things came back, and they are separate commits. A third commit withdraws one item after a peer session reported it was already in hand.

1. Six ADRs name unbuilt work that no OPEN item tracks (#1497-#1502)

Item ADR What is unbuilt Why it did not read as missing
#1497 0157 increments 0, 2 and 3; Inc 2 is mis-specified its one citation is a closed test-flake row
#1498 0173 revocation + OCSP stapling on the remaining hops #1005 shipped a different slice and closed
#1499 0085 Direct S/MIME phases after PR1 #157 closed on PR1 alone
#1500 0090 the web console Resend UI #123 closed on the API/engine deliverable
#1501 0084 the message_events declined-handler mitigation its gate, #63, shipped and closed
#1502 0102 option (a) deferred to an owner ruling nothing surfaces

The shape is the same five times over: a citation search for the ADR number returns a hit, and the hit is a closed item that shipped a neighbouring slice. That is why an ADR-number grep does not find these.

Severity is conditional per CLAUDE.md section 0 — zero deployments. #1497 and #1498 describe what a first deployment would hit, not a live exposure.

#1496 was filed and then withdrawn, and the reason is worth more than the item

#1496 said ADR 0056's engine-managed VIP design was untracked. The manager session (manager-424d8b) then reported a Builder already running on it under #1494. Verified rather than assumed:

git show origin/main:docs/BACKLOG.md | grep -c "^## 1494\."   -> 0
git show a2bfdb231:docs/BACKLOG.md   | grep -c "^## 1494\."   -> 0
git show origin/main:docs/BACKLOG.md | grep -c "0056"         -> 0

Both readings are true. No filed item tracks ADR 0056 on origin/main, at this branch's base or now — and a Builder is nonetheless building it, against an allocated number held in an unmerged worktree. The ledger cannot see that, and a sweep over docs/BACKLOG.md cannot find it. Same family as BACKLOG #1448. #1496 is burned per docs/LEDGER-GATE.md; numbers are never reclaimed and holes are free.

This branch has never touched docs/adr/0056-engine-managed-vip-failover.md, which that session is editing concurrently.

2. Twenty-one ADR records state a build state the tree contradicts

Every one of these is built; the record says otherwise, so anyone planning off the index plans wrong.

The one that matters is 0053. Its Status still read "the commitment is ratified; the cp314t feasibility + scaling spike is Phase 1 of execution". BACKLOG #90 closed DECLINED 2026-07-09 and #91 closed DECLINED 2026-07-20. The record told a reader that free-threading is the committed scale path two months after measurement retired it and sharding took over. The ADR body already carried a 2026-07-06 NO-GO note; the Status line above it did not.

The rest: index rows 0003 0005 0035 0047 0081 0082 0105 0119 0121 0124 0169, and Status/Built lines in 0015 0016 0022 0026 0027 0042 0169. Each verified by locating the code or the closing backlog banner. Details and evidence are in the commit message.

A finding that turned out to be a non-finding, recorded because it looks like one

Thirteen ADR numbers have no file and no index row (0097, 0116, 0117, 0125, 0145, 0146, 0162, 0163, 0166, 0168, 0174, 0175, 0181). This is correct behaviour and nothing was changed. alloc.ps1 never reclaims a number: "holes are free, collisions are not." Seven of the thirteen hold live allocation records naming a title, branch and worktree; the other six predate the registry, and the allocator's floor is the max over origin/main, every ref and every allocation, which now sits at 185. None can be reissued.

Checks

Check Result
pre-commit on all three commits passed, including the ledger gate
open-count control (docs/LEDGER-GATE.md) 482 to 489 on the filing, 489 to 488 on the withdrawal; closed 189 throughout
scripts/docs/backlog_status_check.py --quiet exit 0
scripts/docs/link_check.py docs 4992 relative links in 303 files, all resolve
scripts/quality/control_char_check.py clean
scripts/docs/backlog_citation_check.py, dangling_citation_check.py exit 0
ruff, mypy, pytest not run -- no code changed, docs only

scripts/docs/citation_line_check.py exits 1 with 188 drifted file:line anchors. That is pre-existing (BACKLOG #1263, #1473), it is not a pre-commit gate, and none of the drifted anchors is in this diff. The new items deliberately cite symbols and paths, never line numbers.

Method, and where it could be wrong

"On the backlog" was tested as: an open item cites the ADR number in its body, with items classified by parse_items from scripts/docs/backlog_status_check.py rather than a hand-rolled scan. Two known weaknesses, one of which fired:

  1. An item that describes the work without naming the ADR reads as untracked. All gaps were hand-checked by topic search against the live backlog; the only matches were ASVS research rows that happen to use the same words.
  2. Work held on an allocated number in an unmerged worktree is invisible to any ledger sweep. That is what produced #1496, and no instrument available here would have caught it.

Every "built" claim was confirmed by finding the code, not by trusting a banner.

Merge note: this branch and manager-424d8b both append to the tail of docs/BACKLOG.md, so a textual conflict at the append point is likely even though the items are disjoint.

🤖 Generated with Claude Code

wshallwshall and others added 3 commits September 9, 2026 08:05
…acks

An ADR-to-backlog sweep over all 172 numbered ADRs cross-referenced each
against docs/BACKLOG.md and the closed archive. Seven ADRs name work that is
not built and that no OPEN item carries. In every case a citation search
returns a hit, and the hit is a CLOSED item that shipped a different slice --
which is why none of them read as missing.

  #1496  ADR 0056  engine-managed VIP failover, design-only, zero references
  #1497  ADR 0157  increments 0, 2 and 3 unbuilt; Inc 2 mis-specified
  #1498  ADR 0173  revocation/OCSP on the hops #1005 did not reach
  #1499  ADR 0085  Direct S/MIME phases after PR1, orphaned when #157 closed
  #1500  ADR 0090  the web console Resend UI residual of #123
  #1501  ADR 0084  message_events mitigation, gate shipped in #899
  #1502  ADR 0102  option (a), deferred to an owner ruling nothing surfaces

Severity is conditional throughout per CLAUDE.md section 0: zero deployments,
so 0157 and 0173 describe what a first deployment would hit, not a live
exposure.

Numbers allocated with scripts/coord/alloc.ps1. Open-count control run per
docs/LEDGER-GATE.md: items 482 to 489, open 293 to 300, closed 189 unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…radicts

Same sweep as the previous commit. Twenty-one ADR index rows and Status lines
assert a build state that shipped code refutes. Each correction below was
verified by locating the code or the closing backlog banner, never by trusting
another document.

The one that matters most is 0053. Its Status still said the cp314t commitment
was ratified and the spike was Phase 1 of execution. BACKLOG #90 closed
DECLINED 2026-07-09 and #91 closed DECLINED 2026-07-20, so the record told a
reader that free-threading is the committed scale path two months after
measurement retired it. The ADR body already carried a 2026-07-06 NO-GO note;
the Status line above it did not.

Index rows corrected: 0003 0005 0035 0047 0053 0081 0082 0105 0119 0121 0124
0169. Status or Built lines corrected in the ADR files: 0015 0016 0022 0026
0027 0042 0053 0169.

Evidence, in brief:
  0015  ws_security/ws_addressing/client_cert_file knobs, transports/soap.py
  0016  the TA1 classifier and blocking reply in transports/x12.py
  0022  parsing/fhir/ and transports/fhir.py exist
  0026  the zero-egress arm shipped in 0.2.10; live egress is still unbuilt
  0027  built in 0.2.9 per BACKLOG #34
  0035  untrustedWorkspaces plus the isTrusted gate in ide/
  0042  increment (a) built in 0.2.9 per #47; (b) still deferred
  0047  BACKLOG #41 lists all six deliverables shipped
  0081  SetMeta, applied exactly-once in transform_handoff
  0082  built 2026-07-10 per #134
  0105  Phase 3b built: the attachment download route and the console view
  0119  ide/src/hexdump.ts        0121  ide/src/testCollections.ts
  0124  the no_ack knob in config/wiring.py
  0169  #1268 shipped both limbs; the creation-guard residual is now stated

No superseded wording was deleted where a reader would carry it forward: 0026
and 0053 keep the sentence that was wrong and say why, per the ADRs' own
append-only rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…r #1494

The manager session (worktree manager-424d8b) reported that a Builder is
running on ADR 0056's stepdown control plane under BACKLOG #1494, titled
"Build ADR 0056 engine-managed VIP failover: config seam, stepdown control
plane, VIP controller". #1494 strictly supersedes #1496, which asked only
whether to build ADR 0056 or retire it. That question has been answered.

THE MEASUREMENT IN #1496 WAS NOT WRONG, AND THE DISTINCTION IS THE POINT.
Verified after the report, not assumed from it:

  git show origin/main:docs/BACKLOG.md | grep -c "^## 1494\."   -> 0
  git show a2bfdb2:docs/BACKLOG.md   | grep -c "^## 1494\."   -> 0
  git show origin/main:docs/BACKLOG.md | grep -c "0056"         -> 0

So no filed item tracks ADR 0056 on origin/main, at this branch's base or
now. #1494 is an ALLOCATED NUMBER held in an unmerged worktree, which the
ledger cannot see and a sweep over docs/BACKLOG.md cannot find. The gap was
real against the record; the work was real against the fleet; nothing joins
those two views. That is the same shape as BACKLOG #1448.

#1496 is burned, per docs/LEDGER-GATE.md: numbers are never reclaimed and
holes are free. It is not re-used and not re-filed.

Open-count control per docs/LEDGER-GATE.md: items 489 to 488, open 300 to
299, closed 189 unchanged -- the expected delta for withdrawing one open
item that was never merged as closed.

No ADR file is touched by this branch's 0056 subject: the manager session is
editing docs/adr/0056-engine-managed-vip-failover.md concurrently, and this
branch has never modified that file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@wshallwshall wshallwshall changed the title docs: file the seven ADR residuals no open item tracks, and correct 21 ADR records that misstate build state (BACKLOG #1496-#1502) docs: file the six ADR residuals no open item tracks, and correct 21 ADR records that misstate build state (BACKLOG #1497-#1502) Sep 9, 2026
@wshallwshall
wshallwshall added this pull request to the merge queue Sep 9, 2026
@github-actions github-actions Bot added the ci-red A required check went red. Attribute it before retrying. label Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

CI failed while this pull request was in the merge queue, so the queue ejected it.

Its own head can still be green: the queue revalidates the merge, and the path gates that skip on a pull request run there. Read the run before retrying.

https://github.com/MEFORORG/MessageFoundry/actions/runs/34358161146

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

CI failed while this pull request was in the merge queue, so the queue ejected it.

Its own head can still be green: the queue revalidates the merge, and the path gates that skip on a pull request run there. Read the run before retrying.

https://github.com/MEFORORG/MessageFoundry/actions/runs/34359732510

@wshallwshall
wshallwshall added this pull request to the merge queue Sep 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

CI failed while this pull request was in the merge queue, so the queue ejected it.

Its own head can still be green: the queue revalidates the merge, and the path gates that skip on a pull request run there. Read the run before retrying.

https://github.com/MEFORORG/MessageFoundry/actions/runs/34361155905

@wshallwshall
wshallwshall added this pull request to the merge queue Sep 9, 2026
Merged via the queue into main with commit e209baf Sep 9, 2026
41 checks passed
@wshallwshall
wshallwshall deleted the claude/adr-review-d77264 branch September 9, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-red A required check went red. Attribute it before retrying.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant