Skip to content

PMAT-3490: tools.toml pmat 3.40.1 → 3.41.1 — the fleet converged (infra#692), and the two tool_version baselines are re-recorded under it in the same commit - #3492

Closed
noahgift wants to merge 3 commits into
mainfrom
PMAT-3490-pmat-pin-3.41.1
Closed

noahgift wants to merge 3 commits into
mainfrom
PMAT-3490-pmat-pin-3.41.1

Conversation

@noahgift

Copy link
Copy Markdown
Member

Closes #3490. The ASSERT step of tools.toml's own CONVERGE → PROVE → ASSERT rule, taken after the other two:

Re-run here: check_tool_versions.sh 4/4 · check_baseline_ratchets.sh PASS · check_complexity_ratchet.sh PASS (D2, measured by pmat 3.41.1) · check_roadmap_fragment_required.sh PASS.

ont-delta: none — a tool pin and two baseline headers; no contract changes.

🤖 Generated with Claude Code

Noah Gift and others added 2 commits September 18, 2026 18:00
…ntel /opt/fleet-bin and lambda both measure 3.41.1), and the two tool_version baselines are re-recorded under it in this commit

Pmat-Ticket: PMAT-3490
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pmat-Ticket: PMAT-3490
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@noahgift

Copy link
Copy Markdown
Member Author

quorum-review (AD-04): NOT agreed (auto_merge: checked=true was_armed=false disarmed=false)

{
 "ticket": "PMAT-3490",
 "head": "6a9c5ed08e1bf6cbeb8da79049c8f93b7c758008",
 "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
  }
 ]
}

@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

§13.11 rung 1 — quorum shadow verdict

S13-SHADOW pr=3492 head=50943110061fea7137ff60b70046bc9e2aa789ab verdict=REFUSE class=Q1 arm_rc=1

Shadow mode: this records a verdict and merges nothing. A refusal
to arm is not a block (§13 adds zero rows to §7) — the pull request is
exactly as green as it was.

Pmat-Ticket: PMAT-3490
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 18, 2026
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>
@noahgift
noahgift enabled auto-merge September 18, 2026 16:52
@noahgift
noahgift added this pull request to the merge queue Sep 18, 2026
@noahgift

Copy link
Copy Markdown
Member Author

Closing as a duplicate of #3491, which was opened 113 s earlier for the same ticket (PMAT-3490 / #3490), carries a 3/3 quorum artifact on its diff, and now carries its Arm 4 review receipt (verdict FINDINGS, advisory). Two PRs that both say "Closes #3490" and touch the same six files cannot both land; the second to merge conflicts on roadmap.yaml, cb200_baseline.txt and complexity_baseline.txt.

Two of this PR's claims are also refuted by measurement, which is the substantive reason it is this one that closes:

  1. "six fewer … no longer measure over the thresholds under the new instrument." Not the instrument. The six functions' three files were each changed on 2026-09-16, the day after fix(tools): pin pmat 3.40.1 and CB-200 back to 602 — the fleet converged 2026-09-14; re-measuring under 3.40.1 read 603 (PMAT-3300) #3301's re-measurement; pmat 3.41.1 run on crates/aprender-test-cli/src/handlers/llm.rs as of 4bad830 reads execute_llm_load 36 61, execute_llm_score 40 91, execute_llm_sweep 20 40, execute_llm_experiment 16 36 — the exact numbers 3.40.1 recorded. Same binary, old tree, same reading. The drop is the 09-16 commits.
  2. cb200_baseline.txt "mirrored count unchanged at 601" with only the header restamped. pmat comply check --checks CB-200 under 3.41.1 from a cold index at 3409b29 reads 599 ("2 under the recorded baseline: lower"), and 602 on 5d95ed5, the tree that banked 601. A restamp without a re-measurement is the relabelling fix(tools): pin pmat 3.40.1 and CB-200 back to 602 — the fleet converged 2026-09-14; re-measuring under 3.40.1 read 603 (PMAT-3300) #3301's own rule forbids ("CHANGING THE INSTRUMENT RE-RECORDS THE BASELINES"); chore(ratchet): CB-200 601→599 and the complexity shrink under pmat 3.41.1 — the pin itself landed in #3484 #3491 lowers to 599.

Nothing here is deleted: the branch PMAT-3490-pmat-pin-3.41.1 stays for whoever opened this to compare. #3491's own defect — tools.toml:7 citing a pre-rebase infra SHA — is being fixed there.

@noahgift

Copy link
Copy Markdown
Member Author

Duplicate of #3491 (see the comment above for the two measured refutations).

@noahgift noahgift closed this Sep 18, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a manual request Sep 18, 2026
@noahgift
noahgift deleted the PMAT-3490-pmat-pin-3.41.1 branch September 23, 2026 16:15
guyernest pushed a commit to guyernest/aprender that referenced this pull request Sep 29, 2026
….41.1 — the pin itself landed in paiml#3484 (paiml#3491)

* fix(tools): pin pmat 3.41.1 — the fleet converged 2026-09-18 (infra#692); 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 — paiml#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 (paiml#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 paiml#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 paiml#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: PMAT-3490 — 3/3 PASS on 41c9765, partial=false

Pmat-Ticket: PMAT-3490
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* review(3491): pr-review v2 receipt for 0fd8deb

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
(paiml#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>

* fix(tools): the header cited infra 9c411f4, a pre-rebase SHA that exists nowhere — the pin commit is 2734069 via f92ed2d (paiml#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>

* chore(pr-review): sign this PR's receipt (PR-REVIEW-SKILL-002 v2 §4.3 CI signer)

* roadmap: PMAT-3490 described a pin bump that landed elsewhere two days 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 paiml#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>

* roadmap: the complexity shrink ALSO landed in paiml#3484 — this PR is cb200 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 paiml#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 paiml#3484), the complexity shrink (landed in
paiml#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>

* audit: quorum PMAT-3490 round 4 — 3/3 PASS on PR paiml#3491 at b940bf4

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>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Noah Gift <noah@paiml.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tools.toml pmat pin 3.40.1 -> 3.41.1 — the fleet converged 2026-09-18 (infra#692) and every converged runner now fails check_tool_versions.sh

1 participant