backlog: file #1330, and close #1321 as a duplicate of #1322 - #527
backlog: file #1330, and close #1321 as a duplicate of #1322#527wshallwshall wants to merge 3 commits into
Conversation
…nd the obvious resolution re-arms a fixed defect Filed under a live 5-hour rung because it cannot be finished in the remaining window, and because the analysis behind it would otherwise die with this session. An adversarial per-file pass found some of 487's assertions were written against the OLD interpreter selection order, which 505 reversed for cause: bin/bash.exe is the MINGW64 wrapper and rewrites PATH so /mingw64/bin outranks a caller's prepend. Resolving toward 487 therefore re-arms the defect 505 fixed, rather than merely duplicating work. The item carries the pointer to the per-file verdicts so a taker reads them instead of re-deriving, and records two smaller stranded pieces: 1321's banner flip, handed over after 1322 landed first via 525, and two ASVS re-scores whose item numbers nobody can derive because no cell-to-item map exists. One of those re-scores is a pass to PARTIAL -- a RE-OPEN, not a closure. Filed from the ALLOCATING worktree after the gate correctly refused the same commit from a scratch one. The escape is the documented git switch -c from the allocating tree, which I had explained to three other seats today before needing it myself.
49e534e to
2bbdd2f
Compare
…d not take #1321 and #1322 record one root cause: the `serverdb` path alternation at `ci.yml:1358` does not list `messagefoundry/api/`, so an api-only change deselects the SQL Server and Postgres legs on the pull request that would catch it. Two seats filed it within minutes. #1322 landed on `main` first via PR #525; #1321 was filed on a branch and arrived by merge, so neither the ledger gate nor either author could see the collision. #1321's own row already declared itself the duplicate and handed the closure over, because `BUILDER.md:253` forbids a filer from closing their own row and `:148` assigns it here. This discharges that hand-over. Verified before flipping rather than relayed: #1322 carries every point #1321 does, including the `tests/test_api.py:587` substring-versus-equality half, and adds a fired-in-practice case (#514 / BACKLOG #1187, `fdd89b49`) and the nightly-arm severity bound. THE GLYPH IS A DELIBERATE CHOICE WITH NO PRECEDENT TO FOLLOW. The live ledger carried no prior close-as-duplicate-of-an-OPEN-item, so the alphabet had to be read rather than copied. The other two closed banners would each assert something false: the check would say the gate hole is fixed, and it is not, it is open at #1322; the no-entry would say an owner declined the work, and none did. The tombstone says this ROW is void, which is the true statement, and the banner text says so in words so no reader has to infer it from a pictograph. parse_items before 341 items / 246 open, after 341 / 245. The status gate reports 577 items across both files, each declaring exactly one status. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
DO NOT MERGE THIS YET. It is green and it is held deliberately, and without this note it reads as simply un-merged. I am the lander who rebased it, batched a second ledger change onto it, and drove it to green. I am not merging it, for a reason that has nothing to do with CI. What is wrong with itOne line added by the #1330 filing names an ASVS requirement id paired with its coverage grade transition, and characterises that transition as a re-open. The repository's guidance keeps the pairing of a requirement with an item and a coverage state out of the public ledger — the id list itself is published by OWASP, but the pairing is the coverage manifest, and it discloses what is not covered by subtraction. I am deliberately not quoting the token here. A note that republishes the thing it is about defeats itself. Severity is bounded, and I would rather state the bound than let this read as bigger than it isThat same id already appears four times on It was found only by a corpus-backed screen — checking each dotted triple against the 345 real requirement ids — because the id appears with no adjacent keyword. Two earlier keyword-based screens returned clean on this exact line. A screen that cannot fire and a clean branch look identical. Why I could not just fix itI rebuilt the commit on current The gate is behaving exactly as specified. I checked, after initially reporting it as a gate defect, and I was wrong about that. What is missing is a transfer path in the allocation tool — the sibling claims tool already has one, with an audit trail and a refusal condition, so the asymmetry is the argument rather than the loosening being novel. That is with the owner as an item. Do not route around the gate to land this. What a taker should do
Its remote is untouched at |
Two ledger-only changes, batched into one PR on purpose.
Batched because PR count is the queue's rate limit, not diff size. A ledger-only PR still costs a full CI slot: the required
CI gateneeds the harness job, which the PR path-gate runs ondocs/deliberately, so a BACKLOG rewrite must face the ledger tests. Two of these as separate PRs would be two sequential cycles, each knocking the other behind understrict: true.1. Files #1330
PR 487's five-file resolver conflict is a judgment merge whose obvious resolution re-arms a fixed defect. Filed by the previous lander, carried here unchanged.
2. Closes #1321 as a duplicate of #1322
#1321 and #1322 record one root cause: the
serverdbpath alternation does not listmessagefoundry/api/, so an api-only change deselects the SQL Server and Postgres legs on the very pull request that would catch it. Two seats filed it within minutes. #1322 landed first; #1321 arrived by merge, so neither the ledger gate nor either author could see the collision.#1321's own row declared itself the duplicate and handed the closure over, because a filer may not close their own row. This discharges that hand-over.
Verified before flipping rather than relayed: #1322 carries every point #1321 does, including the
tests/test_api.py:587substring-versus-equality half, and adds a fired-in-practice case and a severity bound that #1321 lacks.The glyph is a deliberate choice with no precedent to follow. The live ledger carried no prior close-as-duplicate-of-an-open item, so the alphabet had to be read rather than copied. The other two closed banners would each assert something false: one that the gate hole is fixed, which it is not and remains open at #1322; the other that an owner declined the work, which none did. The banner says so in words, so no reader has to infer it from a pictograph.
Verification
parse_items: 342 items, 246 open. Main is 341/246, so the arithmetic is one item filed and one item closed.main..HEADrather than the tip, with its positive control run first: zero matches, control fires 1.Auto-merge is deliberately NOT armed.
🤖 Generated with Claude Code