Repository navigation
docs(audit): fold the 24 UNRESOLVED rulings (#1186) into rows.json + FINAL.md (t_12b66b00) - #1312
Merged
Merged
Conversation
Each row gets the measurement the lead lacked, then a README section 2 verdict: DROP 10, KEEP 8, UPSTREAM 4, SUPERSEDED-BY-UPSTREAM 2. 14 slice cards were filed for the rows whose verdict changed. Verified: probes on clean fork 858ee59 and upstream c15ebb1 worktrees with a temp home, read-only state.db/kanban.db queries, log greps, a live CDP repro on Chrome 154, and REST merge-queue job-log counts for #695. Narrow fork tests via test-gate: 175 passed.
… + FINAL.md (t_12b66b00) #1186 (cherry-picked here) added the rulings as UNRESOLVED.md + unresolved.verdicts.json but left lead/rows.json, FINAL.md and ROLLUP.md reading UNRESOLVED for all 24 rows. - rulings.UNRESOLVED_RULINGS loads unresolved.verdicts.json (single source). - final.build() applies it to the 23 code rows, asserting each was UNRESOLVED; the auto row nopr:08fc3aff65 follows nopr:8dcc69611c to DROP in build_all.py. - build_all.py fails if any of the 24 rows ends with a verdict other than its ruling. - render.py: card column takes the ruling cards (and the POST_RULING_2026_09_27 cards that left cards.json in #1296, so those 8 rows keep their committed ids); hand-written tail sections are kept on re-render; the §6 UPSTREAM count and UNRESOLVED sentence are computed; §3 lists the 4 new UPSTREAM rows. - FINAL.md / ROLLUP.md: re-rendered, plus a hand-written fold note. Counts: KEEP 672->680, DROP 153->163, UPSTREAM 93->97, SUPERSEDED-BY-UPSTREAM 174->176, UNRESOLVED 24->0. Verified: build_all.py (t_03e35f0e lead/merged.json) + render.py; rows.json diff touches exactly the 24 ruling keys, fields final+why only; each of the 24 FINAL.md rows' FINAL column starts with its ruling verdict. Rerunning build_all + render reproduces the committed files byte-exact (rows.json sha256 579de903...). Baseline check: the new render.py on HEAD rows.json reproduced HEAD ROLLUP.md exactly and changed FINAL.md only in the card column of the 16 rulings that have a card. ruff clean; gitleaks --no-git findings unchanged vs HEAD (6, pre-existing).
FleetReviewReview: post-merge · head Post-merge review ( Confidence: 3/5 Findings
FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, D=grok-4.6, F=gpt-6-sol · cost: $4.01 · duration: 10m 11s · rounds: 1 · files examined: 7 |
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.
Folds the 24 rulings from #1186 (t_63023f77) into the canonical audit build. Card: t_12b66b00.
#1186 added
UNRESOLVED.md+unresolved.verdicts.jsonbut notlead/rows.json/FINAL.md/ROLLUP.md, so the canonical rebuild (#1274/#1296) still showed all 24 rows UNRESOLVED. This PR carries #1186's commit (cherry-picked, authorship kept), so merging it lands both; #1186 can then close as superseded.Changes (docs/plans/fork-pr-audit/lead):
rulings.UNRESOLVED_RULINGSloadsunresolved.verdicts.json; one source, no second copy.final.build()applies it to the 23 code rows and asserts each was UNRESOLVED. The auto row nopr:08fc3aff65 follows nopr:8dcc69611c to DROP.build_all.pyfails if any of the 24 rows ends with a verdict other than its ruling.render.py: the card column takes the ruling cards, plus thePOST_RULING_2026_09_27cards that left cards.json in docs(audit): make 2026-09-27 KEEP flips canonical in final.build(); reconcile cards.json #1296 (a bare re-render on main dropped those 8 ids). Hand-written tail sections survive a re-render. The §6 UPSTREAM count and the UNRESOLVED sentence are computed, and §3 lists the 4 new UPSTREAM rows.Counts: KEEP 672→680, DROP 153→163, UPSTREAM 93→97, SUPERSEDED-BY-UPSTREAM 174→176, UNRESOLVED 24→0 (1,116 rows).
Verification:
build_all.py(with the t_03e35f0elead/merged.json) +render.py: the rows.json diff touches exactly the 24 ruling keys, and only thefinal+whyfields. The FINAL column of each of the 24 FINAL.md rows starts with its ruling verdict. 0 UNRESOLVED rows are left.gitleaks --no-gitfindings are the same as HEAD (6, all pre-existing).Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.