Skip to content

docs(audit): fold the 24 UNRESOLVED rulings (#1186) into rows.json + FINAL.md (t_12b66b00) - #1312

Merged
ang-fleet-lander[bot] merged 2 commits into
mainfrom
audit/fold-unresolved-rulings
Sep 27, 2026
Merged

ang-fleet-lander[bot] merged 2 commits into
mainfrom
audit/fold-unresolved-rulings

Conversation

@ang-fleet-workers

@ang-fleet-workers ang-fleet-workers Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Folds the 24 rulings from #1186 (t_63023f77) into the canonical audit build. Card: t_12b66b00.

#1186 added UNRESOLVED.md + unresolved.verdicts.json but not lead/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_RULINGS loads unresolved.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.py fails if any of the 24 rows ends with a verdict other than its ruling.
  • render.py: the card column takes the ruling cards, plus the POST_RULING_2026_09_27 cards 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_03e35f0e lead/merged.json) + render.py: the rows.json diff touches exactly the 24 ruling keys, and only the final + why fields. The FINAL column of each of the 24 FINAL.md rows starts with its ruling verdict. 0 UNRESOLVED rows are left.
  • Running build_all + render again reproduces the committed files byte-for-byte (rows.json sha256 579de903…).
  • Baseline check: the new render.py run on HEAD's rows.json reproduced HEAD's ROLLUP.md exactly. In FINAL.md it changed only the card column of the 16 rulings that have a card.
  • ruff is clean. gitleaks --no-git findings are the same as HEAD (6, all pre-existing).

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Kyzcreig and others added 2 commits September 27, 2026 07:08
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).
@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: kanban-merge-pass · gate: ADVISORY (FleetReview not green for d1f7df9): fleetreview-advisory-20260927-standing.md · why: t_12b66b00: fork-PR audit: fold the 24 rulings that fork #1186 added as files into lead/rows; Argus off card review (Ace 13:08), CI green

@ang-fleet-lander
ang-fleet-lander Bot added this pull request to the merge queue Sep 27, 2026
Merged via the queue into main with commit 5f64cba Sep 27, 2026
33 checks passed
@ang-fleet-lander
ang-fleet-lander Bot deleted the audit/fold-unresolved-rulings branch September 27, 2026 14:22
@ang-fleet-ci-actuators ang-fleet-ci-actuators Bot added the fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent) label Sep 27, 2026
@ang-prism

ang-prism Bot commented Sep 27, 2026

Copy link
Copy Markdown

FleetReview

Review: post-merge · head 5f64cba949c8 · duration 10m 13s
Profile: full recipe · policy: below-size-and-path-gates
Roster: B-assert-ctx → gpt-6-sol (openai), B-state → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), F → gpt-6-sol (openai), G → grok-4.6 (xai), L6 → gpt-6-sol (openai)

Post-merge review (fleetreview:post-merge override): this reviewed the merge commit against its first parent — the bytes that already shipped. It is not a pre-merge gate pass.

Confidence: 3/5

Findings

  • P1 docs/plans/fork-pr-audit/lead/rows.json:30997 — Unsafe DROP · agreed: B-assert-ctx (openai)
  • P2 docs/plans/fork-pr-audit/lead/render.py:133 — Show the existing upstream branch for ruling test(tui): settle deferred rows before unmount compensation checks #695 · agreed: C-assert-xhigh,F,G (anthropic, openai, xai)
  • P1 docs/plans/fork-pr-audit/lead/render.py:201 — Fail closed when a hand-written section marker is missing · agreed: C-assert-xhigh,F (anthropic, openai)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant