You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
check_ont_ratchet.sh probes a BARE pv (pvbin="$(command -v pv)") — on a fleet-clobbered runner (pv 0.65.2, no census) it reads 'no consumer' and REDs an honest anchored rise; check_apr_bin_pinned.sh is blind to the form #3679
That's a bare pv from PATH. On intel the fleet pin is being clobbered to 0.65.2 (paiml-implement#315), and 0.65.2 has no census. So the probe answers "no consumer" about the runner, not about the tree. In-tree pv has census (ONT-1 landed: contracts/census.json is produced by it). It's the same class as #3567 (the shapes gate on an unpinned pv), and it's the sibling that #3567's repair didn't touch.
The pinned-binary guard is blind to this form.check_apr_bin_pinned.sh:503 must-match table: 'PV=$(command -v pv)' 'require_tool pv "x"' 'which pv'. It has no row for <anyvar>="$(command -v pv …)", so a lowercase variable name and a redirect walk past it.
a self-test row: a stub pv without census on PATH plus a pinned pv WITH census gives consumer_present=true (RED-turning: revert the resolution and the row fails)
check_apr_bin_pinned.sh case table gains must-match rows pvbin="$(command -v pv 2>/dev/null || true)" and x=$(command -v pv), and the scan finds this site before the fix (the mutation proof)
Found by the cop while triaging #3669's reds. #3669 takes the restamp (make ont-ratchet with a census-capable pv); this row is the root cause. Refs #3567, paiml-implement#315.
triage 2026-09-23 (aprender-dd): kept in 0.70.0 and labelled ont-0.70. Operator, verbatim (relayed by the cop aprender-cf): "the ontology spec MUST be finished in .7". Classified as ontology/SHACL spec work: its title names ONT/ontology/SHACL/capability cells, or its body cites an ONT- row.
a2 (0.70.0): all three done_when items are met on batch/0.70.0 via 719bf1a. Re-verified at a49b6f3:
check_ont_ratchet.sh --self-test: 45/45.
Mutant (line 92 reverted to command -v pv): 3 rows go RED (rc 1).
check_apr_bin_pinned.sh --self-test: 83 regex cases + 9 surface probes OK, including the pvbin="$(command -v pv 2>/dev/null || true)" and x=$(command -v pv) must-match rows.
No new code needed. This closes when the batch merges.
evidence for close: 989cb01 (#4655), ancestor of main 6bd89b0. Checked all three done-when bullets at main: scripts/check_ont_ratchet.sh:92 resolves pv via resolve_fleet_pv (pinned candidates, version proved against the pin) and prints "unmeasured pin-mismatch|incapable" instead of consumer_present=false; its self-test (#3679 block, ~line 583) plants a stale stub pv without census on PATH plus a pinned stub with census; scripts/check_apr_bin_pinned.sh:551-552 carries the must-match rows pvbin="$(command -v pv 2>/dev/null || true)" and x=$(command -v pv).
P0 to P1 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, so it stays on the 0.71.0 milestone at P1. The operator quote in its history is a milestone-wide triage note, not words about this issue.
Folded into #5308 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: fix/3679-ont-ratchet-pinned-pv.
Activity
release(0.69): two guard-tree reds on the batch are data restamps (do…
noahgift commentedon Sep 23, 2026
triage 2026-09-23 (aprender-dd): kept in 0.70.0 and labelled ont-0.70. Operator, verbatim (relayed by the cop aprender-cf): "the ontology spec MUST be finished in .7". Classified as ontology/SHACL spec work: its title names ONT/ontology/SHACL/capability cells, or its body cites an ONT- row.
noahgift commentedon Sep 25, 2026
a2 (0.70.0): all three done_when items are met on batch/0.70.0 via 719bf1a. Re-verified at a49b6f3:
check_ont_ratchet.sh --self-test: 45/45.command -v pv): 3 rows go RED (rc 1).check_apr_bin_pinned.sh --self-test: 83 regex cases + 9 surface probes OK, including thepvbin="$(command -v pv 2>/dev/null || true)"andx=$(command -v pv)must-match rows.No new code needed. This closes when the batch merges.
fix(ont): the ratchet's consumer probe asked the runner's bare pv, no…
noahgift commentedon Oct 12, 2026
evidence for close: 989cb01 (#4655), ancestor of main 6bd89b0. Checked all three done-when bullets at main: scripts/check_ont_ratchet.sh:92 resolves pv via resolve_fleet_pv (pinned candidates, version proved against the pin) and prints "unmeasured pin-mismatch|incapable" instead of consumer_present=false; its self-test (#3679 block, ~line 583) plants a stale stub pv without census on PATH plus a pinned stub with census; scripts/check_apr_bin_pinned.sh:551-552 carries the must-match rows pvbin="$(command -v pv 2>/dev/null || true)" and x=$(command -v pv).
noahgift commentedon Oct 14, 2026
P0 to P1 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, so it stays on the 0.71.0 milestone at P1. The operator quote in its history is a milestone-wide triage note, not words about this issue.
noahgift commentedon Oct 14, 2026
Folded into #5308 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch:
fix/3679-ont-ratchet-pinned-pv.Agent: aprender-clerk