Repository navigation
chore(ratchet): CB-200 601→599 and the complexity shrink under pmat 3.41.1 — the pin itself landed in #3484 - #3491
Conversation
…92); CB-200 599, complexity 670 rows, both re-measured not relabelled tools.toml's own header: "Bump this file in the SAME commit as the infra forjar.yaml version bump." infra#692 (9c411f4) moved stack-tool-pmat to 3.41.1 on all five boxes and converged them — including /opt/ci-tools/pmat, the file every container runner on gx10 and yoga mounts as /usr/local/bin/pmat, which nothing had declared and which was still 3.40.1 after the login user's pmat moved. Measured in a fresh clone at 3409b29 with the converged pmat on PATH, before this change: FAIL pmat pinned 3.40.1 found 3.41.1 which is the verdict every aprender PR gets on every converged runner until this lands — #3301's split (`pinned 3.40.0 found 3.40.1`) again. After: ok pmat pinned 3.41.1 found 3.41.1 ok bashrs pinned 7.4.1 found 7.4.1 4/4 checks, 0 failed CHANGING THE INSTRUMENT RE-RECORDS THE BASELINES (#3301), and this time the instrument and the tree are separated by measurement, not assumed: complexity_baseline.txt 676 rows -> 670 (check_complexity_ratchet.sh --update, "10345 file(s), 179788 function(s), 670 over"). The six dropped rows (inference_result.rs::validate_gpu_first_token, llm.rs::execute_llm_{experiment,load,score,sweep}, ggplot.rs::compute_data_ranges) all still exist. Their files were each changed on 2026-09-16, the day AFTER #3301's re-measurement. pmat 3.41.1 run on llm.rs AS OF 4bad830 reads 36/61, 40/91, 20/40, 16/36 — the exact numbers 3.40.1 recorded. Same binary, old tree, same reading: the instrument did not move on complexity; the 09-16 commits did. cb200_baseline.txt / .pmat-gates.toml [tdg] 601 -> 599, lowered. `pmat comply check --checks CB-200` from a cold index at 3409b29: "599 definition(s) below minimum grade B across 478 file(s) ... The tree is 2 under the recorded baseline: lower to 599". The same binary on 5d95ed5, the tree that banked 601 under 3.40.2, reads 602 — so 3.41.1 grades ONE more definition below B on that tree than 3.40.2 did (not identified to the definition here), and the current tree is three definitions better than 09-17 under the one instrument. Written as 599 because that is what the pin reads on this tree, and the ratchet refuses anything above it from here. Not changed: scripts/pmat_bin.sh PMAT_PIN="3.37.0" and the fleet's pmat-337-pin — a different contract with its own reason (run 34639757080). Also measured while here, for the follow-up that replaces `make roadmap-aggregate` with pmat: `pmat roadmap aggregate` (3.41.1) on the same 919 base + 32 fragments writes docs/roadmaps/roadmap.yaml BYTE-IDENTICAL to scripts/lib/roadmap_fragments.py aggregate — 642,905 bytes, sha256 fb345c44cb18ef0a… both ways, `--check` ok and idempotent from either side. Not acted on in this PR. Closes #3490. ont-delta: none — a fleet pin bump and two re-measured baselines; no entity type, shape, resolves rule or reason id. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
quorum-review (AD-04): three PASS — agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "41c97659607d52c038be6b91cfe9ee5b6227c8db",
"width": 3,
"executor": "agy",
"agreed": true,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "PASS",
"findings": 3
},
{
"lane": 2,
"verdict": "PASS",
"findings": 0
},
{
"lane": 3,
"verdict": "PASS",
"findings": 0
}
]
} |
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Correction to one paragraph of this PR's body — the "byte-identical" aside, not the pinThe body says Re-measured properly, each writer from a clean checkout of the base, on 920 base + 33 fragments (the follow-up branch, which adds one fragment):
|
Reviewer: a separate session in ~/src/aprender-review, per .claude/skills/pr-review/SKILL.md v2.1.0. Verdict FINDINGS (none blocking, none DEGRADED): four measured, advisory findings — a competing open PR (#3492) for the same ticket from the same merge base, a tools.toml provenance SHA (infra 9c411f4) that does not exist in paiml/infra after a rebase, pmat 3.41.1's MCP pmat_index_stats deleting a CLI-built index (reproduced 2/2, an upstream defect in the instrument this PR pins), and workspace-test red on this head because yoga-build2 killed the container (exit 143), not because a test failed. The PR's own claims were re-measured under pmat 3.41.1 and all hold: check_tool_versions 4/4; CB-200 599 across 478 files at HEAD and 602 on 5d95ed5; 670 complexity rows on both sides of the merge base; the six dropped functions still exist and read under threshold; llm.rs as of 4bad830 reads the 3.40.1 numbers; forjar.yaml line 779 pins 3.41.1. Receipt ACCEPTED by scripts/check_pr_review_receipt.sh under a throwaway key (all four positive controls fired first); the throwaway signature was removed and the repository signer (ci.yml pr-review-sign) signs it. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
pr-review v2.1.0 | verdict=FINDINGS | consultations: pmat=consulted cuda=not-triggered crux=not-triggered mutation=not-triggered agy=consulted | findings=4 (cited=0 measured=4 asserted=0) | index=0fd8deb ancestor=true | agy=gemini-3.1-pro-high advisory | divergence: agreed=0 agy-only=0 primary-only=4 contradicted=0 | receipt=evidence/pr-review/3491/0fd8deb79bbb1b21a0b15089233979f0c8c73cf7/receipt.intoto.jsonl (L1-self, signed)
Re-measured and holding (all under pmat 3.41.1, this box): Findings (4, all
agy (requested |
…sts nowhere — the pin commit is 2734069 via f92ed2d (#692) Found by this PR's own Arm 4 review (finding 2, measured): infra#692 was rebased over infra#691 before it merged, so the commit I wrote into tools.toml:7 was rewritten to 2734069e and merged as f92ed2d0. A reader following the citation would have found nothing. One comment line; the pin, the baselines and the quorum-judged diff are unchanged in substance. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=true disarmed=true) {
"ticket": "PMAT-3490",
"head": "7798ae0b9db5acccac6cfad2a6f777ec42260cde",
"width": 3,
"executor": "agy",
"agreed": false,
"auto_merge": {
"checked": true,
"was_armed": true,
"disarmed": true,
"note": "auto-merge was armed from an earlier round; disarmed before lanes launched"
},
"lanes": [
{
"lane": 1,
"verdict": "FAIL",
"findings": 3
},
{
"lane": 2,
"verdict": "PASS",
"findings": 0
},
{
"lane": 3,
"verdict": "PASS",
"findings": 0
}
]
} |
|
The CI run for |
|
quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "674da069e65fb11d589d895899ba626ecd241b24",
"width": 3,
"executor": "agy",
"agreed": false,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "FAIL",
"findings": 2
},
{
"lane": 2,
"verdict": "FAIL",
"findings": 1
},
{
"lane": 3,
"verdict": "PASS",
"findings": 0
}
]
} |
|
CI is green on
So the diff carries two receipts that contradict the file they describe. The lanes are given the whole diff, receipts included, and refuse a claim the diff does not back. Nothing was pushed here: the artifact I got is not agreed, and the stale SARIF is the pr-review skill's to regenerate. Once the receipts are re-cut for aprender#3489 (ONT-4) is waiting on this. |
… baselines carried rather than re-measured DIRTY from squash-merge churn, not a content disagreement: 10 commits on docs/roadmaps/roadmap.yaml since 09-18, plus one move each on the two baselines. Roadmap resolved by regenerating from its fragments. THE PIN WAS RE-VERIFIED BEFORE THE REBASE, because a pin measured two days ago asserts nothing if the fleet moved under it. Measured on the RUNNER denominator, not the host set: intel HOST 3.41.1 /usr/local/bin/pmat gx10-pool1 3.41.1 /usr/local/bin/pmat yoga-build3 3.41.1 /usr/local/bin/pmat gx10 / mini / lambda-labs HOST 3.41.1 pforge-clean-room ABSENT (rust:1.95-slim carries no pmat — paiml/infra#813) Declared in infra equals live on all five machines: 3.41.1. So this is a converged pin, the row stays a rebase, and the baselines are carried rather than re-measured — they are tool-version-specific and the tool version did not move. THE CB-200 CONFLICT IS A REAL ONE AND 599 IS THE RIGHT SIDE. main says 601, this branch says 599, and BOTH headers already read `tool_version=pmat 3.41.1`. The file is shrink-only against origin/main, so 599 is a legal ratchet-down while 601 would surrender it. Verified on the MERGED tree rather than assumed, which is the half that could have gone wrong — 10 commits of new code could have made 599 unreachable: ok CB-200 baseline 599 ([tdg] baseline == scripts/cb200_baseline.txt) ok ratchet scripts/cb200_baseline.txt did not grow (2 removed) ok ratchet scripts/complexity_baseline.txt did not grow (8 removed) PASS (D2): 3409b29 vs 674da06 measured by pmat 3.41.1 Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "62634ffde2e0c29432767cd181d47effd2edfa7b",
"width": 3,
"executor": "agy",
"agreed": false,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "NO-VERDICT",
"findings": 0
},
{
"lane": 2,
"verdict": "NO-VERDICT",
"findings": 0
},
{
"lane": 3,
"verdict": "NO-VERDICT",
"findings": 0
}
]
} |
|
quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "62634ffde2e0c29432767cd181d47effd2edfa7b",
"width": 3,
"executor": "agy",
"agreed": false,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "FAIL",
"findings": 2
},
{
"lane": 2,
"verdict": "FAIL",
"findings": 2
},
{
"lane": 3,
"verdict": "PASS",
"findings": 0
}
]
} |
…s ago Quorum lane 1 refused, correctly: the fragment still said "update the pmat pin to 3.41.1 in tools.toml" while `[pmat] version = "3.41.1"` has been on main since `f4c0daa37` (09-18 17:07), inside #3484. The ticket authorizes and the issue defines done, so a lane refusing a diff that does not do what its ticket says is the gate working. I had retitled the PR and prepended a correction to its body; the fragment was the last place the old story lived. Rewritten to what the row actually lands: CB-200 601 -> 599, the complexity shrink, and the stale comment on tools.toml:7. With the verification that matters -- 599 re-checked on the MERGED tree, not carried -- and the note that 3.41.1 was re-confirmed converged on the runner denominator before the rebase. The same lane also wrote "the diff only updates a comment in tools.toml while leaving the actual version unchanged at 3.40.1" -- reading line 7, a COMMENT, as the pin. Two humans and now a review lane, three readers of three different kinds, same wrong line. That is paiml/infra#816 and the lane's sentence is the best evidence in it. The pr-review receipt under evidence/pr-review/3491/0fd8deb79.../ is deliberately NOT regenerated: it is scoped to the sha it names and correct for it, and pr_review_quorum_arm.sh:612 already refuses this case with the true reason. Regenerating a signed receipt for a head it never reviewed would be the actual defect. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "d5d2f518a3d37617776ab27212dd0241b3e8289a",
"width": 3,
"executor": "agy",
"agreed": false,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "FAIL",
"findings": 3
},
{
"lane": 2,
"verdict": "NO-VERDICT",
"findings": 0
},
{
"lane": 3,
"verdict": "FAIL",
"findings": 1
}
]
} |
…0 601→599 and one comment Quorum r3 refused on two true findings. Lane 1: scripts/complexity_baseline.txt is absent from the diff against origin/main. The "8 functions removed" that r2's ratchet printed was measured against the MERGE-BASE, and the merge then auto-resolved the file to main's version because main already carried the same shrink, via #3484 -- the same PR that carried the pin. So the criterion's "complexity-baseline shrink" claim was a claim about the merge-base, not about this PR. Dropped. What this PR lands is now stated exactly: cb200 601 -> 599, and the stale comment on tools.toml:7. Nothing else. Lane 2: the committed docs/audits/quorum-PMAT-3490.json was the artifact from the ORIGINAL round on 0fd8deb, and it asserts that tools.toml:56 and complexity_baseline.txt were modified. Both were true of that tree and are false of this one. A lane reading it as a receipt claim about the current diff is right to refuse. Removed; the artifact from the round that passes on this head is what gets committed. Third time on this PR that a claim went stale because the tree moved under it: the pin (landed in #3484), the complexity shrink (landed in #3484), and the receipt (described 0fd8deb). Same lesson each time -- every number in a criterion has to be re-derived from the diff against main at the moment the criterion is written, and a diff against the merge-base is a different diff. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
quorum-review (AD-04): three PASS — agreed (auto_merge: checked=true was_armed=false disarmed=false) {
"ticket": "PMAT-3490",
"head": "b940bf4c2f1d7394616fcdd0ef197a7d35d4edff",
"width": 3,
"executor": "agy",
"agreed": true,
"auto_merge": {
"checked": true,
"was_armed": false,
"disarmed": false,
"note": "auto-merge not armed"
},
"lanes": [
{
"lane": 1,
"verdict": "PASS",
"findings": 0
},
{
"lane": 2,
"verdict": "PASS",
"findings": 0
},
{
"lane": 3,
"verdict": "PASS",
"findings": 0
}
]
} |
Rounds 1-3: quota-voided; two lanes refusing the fragment that still described a pin bump; two lanes refusing the merge-base-measured "complexity shrink" claim and the stale receipt from 0fd8deb. Round 4 judges what the PR actually is: cb200 601 -> 599 and one comment. Pmat-Ticket: PMAT-3490 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…nder main's 620 CB-200 (pmat 3.41.1 comply, cold XDG_CACHE_HOME, git-archive trees) read 624 on the car bfd46bb against 620 on main c68deb4: the car added 7 below-B definitions and fixed 3 (shapes.parse_property, shapes.well_formed, model_ladder_cells.judge). All 7 are fixed here; the same measurement reads 617, and the car's own net against main is now -3 (was +4). No other definition changed grade (index diff car -> this tree: 7 gone, 0 new). extract_rdf.rs run cx 16 -> refusals in refuse_release_only_args lint.rs decide_shapes_gate cx 16 -> decline arms in shapes_decline_reason shapes_gate.rs run_shapes_gate_with cx 16 -> body is run_or_answer, early answers via ? shapes.rs turtle_property cx 18 -> turtle_string_and_pair_lines openai_handlers.rs true_streaming_sse cx 16 -> tail_deltas (utf8 tail, then stop-filter tail) scripts/coverage_serve_shards.py PORTED OFF PYTHON -> coverage_serve_shards.sh (POSIX awk + LC_ALL=C sort). Byte-identical shard files and summary line vs the .py on 12 random fixtures (3- and 4-arg), same refusals (empty list, unknown solo); Makefile:694 calls the .sh. scripts/test_apr_dogfood_lane_4252.py main -> a CASES table of per-case functions. NOT ported: it tests apr_dogfood_lane_4252.py IN-PROCESS (monkeypatches lane.*), which only Python can do. Same 9 PASS rows as before (wall times aside). Baseline NOT raised here. The ruling was [tdg] baseline := 617, but scripts/cb200_baseline.txt is shrink-only against origin/main through lib_baseline_ratchet.sh, and check_complexity_ratchet.sh (ci.yml:1948) refuses it: "the recorded count rose 599 -> 617". 617 - 598 = 19 over, all main's: docs/findings/cb200-main-below-b-0701.jsonl lists the 32 definitions below B on main and on this tree that were not below B on 237fbc3 (#3491, the tree that recorded 599) — for 0.70.1. Tests: aprender-contracts --lib 1782 ok; aprender-serve --lib stream|sse 275 ok; clippy -D warnings clean on the three crates. ont4b_shapes_gate:: the_tracked_repo_graph_is_fresh FAILS on the car independently of this diff: contracts/contracts.nt is 3696 triples behind `pv extract contracts` (binding symbols such as aprender::autograd::ops::activation::gelu_exact). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tools.toml's own header: "Bump this file in the SAME commit as the infra
forjar.yaml version bump." infra#692 (9c411f4) moved stack-tool-pmat to
3.41.1 on all five boxes and converged them — including /opt/ci-tools/pmat,
the file every container runner on gx10 and yoga mounts as
/usr/local/bin/pmat, which nothing had declared and which was still 3.40.1
after the login user's pmat moved. Measured in a fresh clone at 3409b29
with the converged pmat on PATH, before this change:
which is the verdict every aprender PR gets on every converged runner until
this lands — #3301's split (
pinned 3.40.0 found 3.40.1) again. After:CHANGING THE INSTRUMENT RE-RECORDS THE BASELINES (#3301), and this time the
instrument and the tree are separated by measurement, not assumed:
complexity_baseline.txt 676 rows -> 670 (check_complexity_ratchet.sh
--update, "10345 file(s), 179788 function(s), 670 over"). The six
dropped rows (inference_result.rs::validate_gpu_first_token,
llm.rs::execute_llm_{experiment,load,score,sweep},
ggplot.rs::compute_data_ranges) all still exist. Their files were each
changed on 2026-09-16, the day AFTER #3301's re-measurement. pmat 3.41.1
run on llm.rs AS OF 4bad830 reads 36/61, 40/91, 20/40, 16/36 — the
exact numbers 3.40.1 recorded. Same binary, old tree, same reading:
the instrument did not move on complexity; the 09-16 commits did.
cb200_baseline.txt / .pmat-gates.toml [tdg] 601 -> 599, lowered.
pmat comply check --checks CB-200from a cold index at 3409b29:"599 definition(s) below minimum grade B across 478 file(s) ... The
tree is 2 under the recorded baseline: lower to 599". The same binary
on 5d95ed5, the tree that banked 601 under 3.40.2, reads 602 — so
3.41.1 grades ONE more definition below B on that tree than 3.40.2
did (not identified to the definition here), and the current tree is
three definitions better than 09-17 under the one instrument.
Written as 599 because that is what the pin reads on this tree, and
the ratchet refuses anything above it from here.
Not changed: scripts/pmat_bin.sh PMAT_PIN="3.37.0" and the fleet's
pmat-337-pin — a different contract with its own reason (run 34639757080).
Also measured while here, for the follow-up that replaces
make roadmap-aggregatewith pmat:pmat roadmap aggregate(3.41.1) on thesame 919 base + 32 fragments writes docs/roadmaps/roadmap.yaml
BYTE-IDENTICAL to scripts/lib/roadmap_fragments.py aggregate — 642,905 bytes,
sha256 fb345c44cb18ef0a… both ways,
--checkok and idempotent from eitherside. Not acted on in this PR.
Closes #3490.
ont-delta: none — a fleet pin bump and two re-measured baselines; no entity type, shape, resolves rule or reason id.
🤖 Generated with Claude Code