Repository navigation
Conversation
…#5897) The committed aggregate drifted from entries/ after every main merge and check_roadmap_fragment_required.sh failed (#5862 twice, #5876). Freeze the base as roadmap-base.yaml, gitignore roadmap.yaml, produce it with make roadmap-aggregate, and generate it in x86-main before any section so sov.roadmap-valid never reports NOT-RUN. Guards learn generated mode. Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
REQUEST-CHANGES @2dcb3bf9ce: quorum NOT 3/3. Blocking: (1) fat_driver clones HEAD per section so the generated roadmap.yaml never reaches guard-tree/sov.* (generate inside the sections); (2) guard-tree runs 4 roadmap guards bare, red when file absent (ids_unique/sorted rc2, completion_is_cited/kind_labels rc1); (3) sov.roadmap-valid NOT-RUN rc0; (4) deleting entries/.yaml passes G1-G3 and diff_additive (additive rule lost); (5) deleting/renaming roadmap-base.yaml falls to legacy judge and passes: key generated mode on base OR head; (6) g_dup_fragment is dead, add G3 and migration self-test rows. Receipt handoff/triage-quorum-5898-2dcb3bf9ce.md
…ase-or-head keying (Refs #5897) Quorum #58982dcb3bf findings: fat_driver clones HEAD per section so the gitignored roadmap.yaml never reached guard-tree or sov.*; generate it in setup_workspace. fragment_required: key generated mode on base OR head carrying the base file, add G4 (a fragment is never deleted) and G3b (one fragment = one id = its filename), and self-test rows for the dup, delete, rename and migration cases (23/23). Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
REQUEST-CHANGES @a8c00da50a: earlier 6 blockers verified fixed (self-tests 23/23, 27/27, fat_driver 60/60). New executed blocker: check_roadmap_completion_is_cited.sh is rc 1 at head (287 FAIL docs/roadmaps/roadmap-base.yaml PMAT-0xx) and rc 0 on main: scripts/roadmap_uncited_completion_baseline.txt (1094 rows) is keyed on docs/roadmaps/roadmap.yaml, entries now report under roadmap-base.yaml. guard-tree is required. Re-key the baseline or the path label. Receipt handoff/triage-quorum-5898-a8c00da50a.md
…-base.yaml (Refs #5897) The guard's universe is every roadmap*.yaml, so the frozen base reported 287 entries under a path the baseline is not keyed on (rc 1 at head, rc 0 on main). Exclude the base (the aggregate carries every entry) and fail loudly if the base exists without the generated aggregate. Case-table row added (36/36). Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
REQUEST-CHANGES @92a9536bce: quorum NOT 3/3. Earlier blockers verified fixed (selftests 23/23, 27/27, 60/60, 36/36; completion guard rc0 generated). Remaining: (1) G4 rename bypass EXECUTED: entries/PMAT-5897.yaml renamed to PMAT-5899.yaml with id edited gives PASS (git diff reports R not D); use --no-renames and require every base id present at head; refuse nested/non-.yaml paths under entries/. (2) additive-diff rule lost in generated mode (diff_additive PASSes early): a fragment can rewrite title/criteria of a base entry; aggregate base side and head side and run the additive check on both. (3) sov roadmap-fragment-parity turns on at merge and wants Pmat-Ticket trailers; recent fragment commits carry none: measure or plan. Receipt handoff/triage-quorum-5898-92a9536bce.md
…nested fragments (Refs #5897) Quorum #589892a9536: (1) G4 now diffs with --no-renames so a renamed fragment (id edited) is a deletion, and refuses any path under entries/ that is not a top-level <ID>.yaml (the generator reads only those). (2) check_roadmap_diff_additive no longer PASSes early in generated mode: it aggregates base file + entries/ at both refs and runs the additive check on the pair, so a fragment rewriting a base entry's title is refused (rows 28-29). Self-tests: 25/25, 29/29. Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
REQUEST-CHANGES @900b8518df: blockers 1 (G4 rename, executed FAIL G4 now) and 2 (additive on aggregates, rewrite refused) verified closed; self-tests 25/25, 29/29, completion ok. Remaining BLOCKING: sov roadmap-fragment-parity arms after merge and wants Pmat-Ticket trailers (0/30 fragment commits carry one) so nearly every fragment PR goes red at ci/gate; re-cut trailer does not help this PR and a follow-up ticket lands nothing before arming. Either add a G5 trailer check with the remedy to check_roadmap_fragment_required.sh in this PR, or land a quorum receipt accepting the reds before arming. Non-blocking: G3b should load YAML (one mapping, id==filename) to stop a second entry in a new fragment; rc capture after 'if out=$(..)' is always 0; setup_workspace generate self-test row. Receipt handoff/triage-quorum-5898-900b8518df.md
…5897) Quorum #5898900b851 blocker 3: sov roadmap-fragment-parity arms after the migration and wants a Pmat-Ticket trailer per changed fragment; none of the recent fragment PRs carry one. G5 fails in our own guard with the remedy printed (an empty commit carrying the trailer). G3b now loads the YAML so a second entry cannot hide from the grep. Self-test 27/27. Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
REQUEST-CHANGES @43ca7b900f (opus-5-5-lane; argon lane not run at this delta, brief file failed to write). quorum NOT 3/3.
BLOCKING: G5 greps ^Pmat-Ticket: ID$ on any line, but sov roadmap-fragment-parity (ci/vendor/sovereign-ci.yml:1343) reads git log --format='%(trailers:key=Pmat-Ticket,valueonly)', which only sees the LAST paragraph. This PR's own commits put the trailer in its own paragraph before Co-Authored-By; git's parser returns nothing for them (reproduced: 0 trailers for 900b851..head), so the first fragment PR with that layout passes G5 and goes red at sov. Fix: G5 uses sov's exact command (tr -d ' ', grep -Fx) + a self-test row with trailer in a non-final paragraph that must be refused.
BLOCKING (follows): with git's parser a merge-queue squash may lose trailers; skip G5 on merge_group (PR run already judged) or keep grep-anywhere for merge_group only, with a row.
NON-BLOCKING: shallow pull_request checkout (fetch-depth 1) makes base..HEAD return only the synthetic merge message; judge pull_request.head.sha vs base.sha. Ids are spliced into an ERE; use grep -Fx on extracted values. G3b: assert len(d)==1 and isinstance dict and id==name in python (a file with no id passes as "None.yaml"; names with spaces). Missing self-test rows: wrong-id trailer, setup_workspace generate.
Executed OK: self-test 27/27, additive 29/29, completion/fat_driver/wiring guards rc 0, real range PASS, mutant disabling G5 turns row 18 red.
…p (Refs #5897) Quorum #589843ca7b9: G5 now uses sov's exact `git log %(trailers:key=Pmat-Ticket,valueonly)` and fixed-string match, so a trailer outside the final paragraph is refused (row), as is a wrong-id trailer (row). merge_group is skipped: the queue composes the squash message. Self-test 29/29; on this branch the range now passes only with this commit's trailer block. Pmat-Ticket: PMAT-5897 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
seat opus-5-5-lane APPROVE @3e876403e9. Parity with sov line 1343 confirmed; self-test 29/29; non-blocking: unset GITHUB_EVENT_NAME in self_test, shallow-checkout note, setup_workspace row.
noahgift
left a comment
There was a problem hiding this comment.
seat argon-high-lane APPROVE @3e876403e9. Exact sov pipeline, -Fx, merge_group skip safe; same non-blocking carry-forwards.
noahgift
left a comment
There was a problem hiding this comment.
quorum 3/3 AGREED PASS @3e876403e9 (opus-5-5 + argon-high + executed run by triage-worker). Not armed; arbiter sign-off next. Receipt: handoff/triage-quorum-5898-3e876403e9.md
|
superseded by #5901 (operator ruling 2026-10-22 06:19Z, relayed by the cop) |
Fixes the stale-aggregate failure of check_roadmap_fragment_required.sh (#5862 twice, #5876). Pick A (aprender-57).
make roadmap-aggregate(byte-identical to main's today).sov.roadmap-validdoes not go NOT-RUN.Gate content: needs non-Sonnet quorum + 2 non-author seats + arbiter sign-off before arming. Single commit.
Open follow-ups (readers not adapted):
pmat work add/completewrite roadmap.yaml (needs a fragment shim),session_docs_commit.sh,.githooks/pre-commitB4,check_row_pr_write_set.sh,ci_resolve_dirty.sh,check_roadmap_completion_is_cited.sh.🤖 Generated with Claude Code