Skip to content

batch/ont-10: every remaining ONT-10 row for 0.70.0 (one PR, one quorum, one CI) - #4502

Closed
noahgift wants to merge 431 commits into
mainfrom
batch/ont-10
Closed

noahgift wants to merge 431 commits into
mainfrom
batch/ont-10

Conversation

@noahgift

@noahgift noahgift commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

ONT-10 batch carrier. Per operator ("obviously batch merge as much as possible"), every remaining ONT-10 row commits to this one branch: one draft PR, one quorum, one CI run. No per-row PRs. #4481 stays separate because it is already armed.

Seeded at #4431's head (fold/b3-onto-main b1cd8c0), so the diff includes #4431 until that merges. Rows, estimates and sessions are in cop-inbox gates/ont10-sizing.md. Chain: #4479 → #4431 (ONT-4d) → ONT-4g → 20 binary slices → ONT-10.

Refs #4079 #3269

🤖 Generated with Claude Code

Conflict resolution

Merge 5c54a8e964 (car/0.70.0 7d0d403ad0 into 6a80c6acd2; untangle aprender-66, 2026-09-27 18:39Z). Hunks: 3, all in the generated set — 0 by hand.

file:hunk side kept why
contracts/census.json car/main side (== origin/main) a PR may not edit the census (#3569, check_census_derived.sh PASS); the train is its only writer. Fresh pv census on the merged tree: 1890 files, invariants PASS
contracts/contracts.nt (+ shapes.ttl) regenerated pv extract contracts, pv built from the merged tree; pv extract --check = 0
README.md contract_count regenerated scripts/readme_sync.sh --write → 1837 (derived from the tracked census); readme_sync --check = 0, check_readme_claims.sh = 0

Conflict resolution

Merge c7169cfc0f (origin/main 761d6247de into 08fe9a794a; authored by aprender-79, reused by the untangler) has 23 files and 42 hunks. The merge commit holds only the resolution. Generated files were regenerated in later commits: a69d0905a8 (census 1888, README count, contracts.nt, shapes.ttl) and cabe264b89 (shapes.ttl after the cherry-picks). The pv-sat witness came out fresh, with no change. This git (2.34) has no --remerge-diff, so to re-review, replay it with git merge --no-commit -c rerere.enabled=false 761d6247de on 08fe9a794a and diff against c7169cfc0f.

file:hunk (line in conflicted file) side kept why
.claude/skills/apr-dogfood/SKILL.md:1594 union ONT-10 rows plus main's --version rows
Makefile:646 union both targets kept
README.md:29, :65 regen contract count comes from pv census via scripts/readme_sync.sh --write (1888)
ci/sections.yml:1470 union live PR body (ont-10) run under main's setsid --wait
contracts/apr-dogfood-coverage-v1.yaml:6, :80, :303, :696 union 868 ONT-10 rows plus main's 26 --version rows, coverage 144/894 (16.1%)
crates/aprender-cbtop/build.rs:1 main add/add. Main's shared build_sha (APR_GIT_SHA)
crates/aprender-compute-xtask/build.rs:1 main add/add. Shared build_sha
crates/aprender-contracts-cli/build.rs:1 main add/add. Shared build_sha, now git rev-parse --short=9 so pv/pv-sat print a sha9
crates/aprender-contracts-cli/src/lib.rs:25, :60 ours + rename ont-10's lib with PV_GIT_SHA renamed to APR_GIT_SHA (main only changed version strings)
crates/aprender-db/src/main.rs:25 union ont-10 surface plus main's --version sha
crates/aprender-explain/src/main.rs:19 union same
crates/aprender-orchestrate/src/main_cli.rs:18 union same
crates/aprender-present-terminal/build.rs:19 main shared build_sha. ont-10's PTOP_GIT_SHA renamed onto it
crates/aprender-present-terminal/src/bin/ptop.rs:30 union ont-10 surface plus APR_GIT_SHA
crates/aprender-profile/src/cli.rs:28 union same
crates/aprender-qa-certify/build.rs:1 main add/add. Shared build_sha
crates/aprender-simulate/build.rs:8 main shared build_sha. SIMULAR_GIT_SHA renamed onto it
crates/aprender-simulate/src/cli/args.rs:42 union ont-10 args plus APR_GIT_SHA
crates/aprender-test-cli/src/commands.rs:8 union same pattern
crates/aprender-zram-generator/src/main.rs:32 union same pattern
docs/roadmaps/roadmap.yaml (12 hunks, from :18254) union by id 3-way union, 1127 rows, same-prefix sort kept. PMAT-4199 cites the pvl_discharge_leanchecker proof
scripts/check_ont_ratchet.sh:292, :303, :328, :572 ours ont-10 carries the newer ONT-4c port
scripts/claim_literal_baseline.txt:183 union both baselines
docs/roadmaps/roadmap.yaml (2nd main merge 816973c5bf, main @aca6f2d7f6) union by id adjacent new rows PMAT-4502 (ours) and PMAT-4514 (main), both kept; main side is docs-only, no regen

Cherry-picked onto the merge: aprender-88's a3def2970a 241f94554f 03f24fc6c3 (one roadmap hunk, a union of PMAT-4469 and PMAT-4502) and aprender-79's ONT-9 c8695dcf60 2383872e04 557e33402a (clean). Local pre-check (not a gate): cargo check --workspace green. Known and unchanged: check_no_claim_literals has 3 FAILs from ont-10-only spec docs, pre-existing on ont-10.

Conflict resolution

Merge 8810fdf4a9 (#4429 @08bde31912 into ONT-10). Hunks: 139 — pure copy→ontology 45, by hand 63, generated→regen 31.

file:hunk side kept why
CLAUDE.md:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
Cargo.toml:1 ours+theirs changed after copying: resolved by hand, both sides' intent kept
Makefile:1 by hand changed after copying: resolved by hand, both sides' intent kept
README.md:1 theirs (car) generated: placeholder side, regenerated in its own commit
README.md:2 theirs (car) generated: placeholder side, regenerated in its own commit
README.md:3 theirs (car) generated: placeholder side, regenerated in its own commit
README.md:4 theirs (car) generated: placeholder side, regenerated in its own commit
ci/sections.yml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
contracts/alibi-slopes-v1.yaml:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
contracts/alibi-slopes-v1.yaml:2 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
contracts/alibi-slopes-v1.yaml:3 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
contracts/census.json:1 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/census.json:2 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/census.json:3 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/census.json:4 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/census.json:5 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/census.json:6 theirs (car) generated: placeholder side, regenerated in its own commit (#3569: census is a train snapshot, PR may not edit)
contracts/contracts.nt:1 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:2 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:3 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:4 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:5 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:6 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:7 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:8 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:9 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:10 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:11 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:12 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:13 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/contracts.nt:14 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/lint-baseline.json:1 by hand changed after copying: resolved by hand, both sides' intent kept
contracts/lint-baseline.json:2 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
contracts/lint-baseline.json:3 by hand changed after copying: resolved by hand, both sides' intent kept
contracts/lint-baseline.json:4 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
contracts/ontology.yaml:1 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
contracts/ontology.yaml:2 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
contracts/ontology.yaml:3 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
contracts/ontology.yaml:4 ours+theirs changed after copying: resolved by hand, both sides' intent kept
contracts/ontology.yaml:5 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
contracts/ontology.yaml:6 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
contracts/shapes.ttl:1 theirs (car) generated: placeholder side, regenerated in its own commit
contracts/shapes.ttl:2 theirs (car) generated: placeholder side, regenerated in its own commit
crates/apr-cli/src/extended_commands.rs:1 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-build-sha/src/lib.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-build-sha/src/lib.rs:2 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-build-sha/src/lib.rs:3 theirs (car) car-original (#4062/#4110/#4173/#4254, absent from ONT-10 history; classifier false PURE)
crates/aprender-build-sha/src/lib.rs:4 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts-cli/src/commands/lint.rs:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-cli/tests/ont4b_shapes_gate.rs:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-cli/tests/ont4b_shapes_gate.rs:2 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts-cli/tests/ont4b_shapes_gate.rs:3 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts-cli/tests/ont4b_shapes_gate.rs:4 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts-cli/tests/ont6_lint_verdict.rs:1 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts-staging/lean/ProvableContracts/Defs/Rand.lean:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/Alibi/Slopes.lean:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/Alibi/Slopes.lean:2 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/Alibi/Slopes.lean:3 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/FFT/Fft2d.lean:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/FFT/Fft3d.lean:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts-staging/lean/ProvableContracts/Theorems/FFT/FftBatched.lean:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/mod.rs:1 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/mod.rs:2 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/mod.rs:3 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/mod.rs:4 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/mod.rs:5 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/mod.rs:6 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/mod_tests.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/lint/mod_tests.rs:2 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/mod_tests.rs:3 theirs (car) car-original (#4062/#4110/#4173/#4254, absent from ONT-10 history; classifier false PURE)
crates/aprender-contracts/src/lint/mod_tests.rs:4 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/mod_tests.rs:5 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/lint/ratchet_gates.rs:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/lint/ratchet_gates_tests.rs:1 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/shapes_gate.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/lint/shapes_gate.rs:2 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/lint/shapes_gate.rs:3 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/lint/shapes_gate.rs:4 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/lint/shapes_gate.rs:5 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/lint/shapes_gate.rs:6 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/lint/shapes_gate.rs:7 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/lint/shapes_gate.rs:8 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/extract/claims.rs:1 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/ontology/extract/code.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/extract/mod.rs:1 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/extract/mod.rs:2 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/extract/mod.rs:3 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/extract/mod.rs:4 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/extract/mod.rs:5 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/extract/mod.rs:6 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/ontology/mod.rs:1 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/sigma.rs:1 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-contracts/src/ontology/sigma.rs:2 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/sigma.rs:3 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/sigma.rs:4 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/sigma.rs:5 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/ontology/sigma.rs:6 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/ontology/sigma.rs:7 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/ontology/sigma.rs:8 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
crates/aprender-contracts/src/ontology/sigma.rs:9 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
crates/aprender-contracts/src/proof_status_tests.rs:1 ours+theirs changed after copying: resolved by hand, both sides' intent kept
crates/aprender-contracts/src/tree.rs:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-orchestrate/tests/integration_test.rs:1 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
crates/aprender-present-terminal/src/bin/ptop.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
crates/aprender-ptx-debug/src/bin/main.rs:1 theirs (car) car-original (#4062/#4110/#4173/#4254, absent from ONT-10 history; classifier false PURE)
crates/aprender-simulate/src/cli/args.rs:1 by hand changed after copying: resolved by hand, both sides' intent kept
docs/audits/impl-GH-4175-receipt.md:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
docs/audits/surface_audit.csv:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
docs/audits/surface_audit.csv:2 by hand changed after copying: resolved by hand, both sides' intent kept
docs/audits/surface_audit.csv:3 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
docs/audits/surface_audit.csv:4 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
docs/audits/surface_audit.csv:5 by hand changed after copying: resolved by hand, both sides' intent kept
docs/audits/surface_audit.csv:6 by hand changed after copying: resolved by hand, both sides' intent kept
docs/roadmaps/roadmap.yaml:1 ours+theirs generated: placeholder side, regenerated in its own commit
docs/roadmaps/roadmap.yaml:2 by hand generated: placeholder side, regenerated in its own commit
docs/roadmaps/roadmap.yaml:3 ours+theirs generated: placeholder side, regenerated in its own commit
docs/roadmaps/roadmap.yaml:4 ours+theirs generated: placeholder side, regenerated in its own commit
docs/roadmaps/roadmap.yaml:5 by hand generated: placeholder side, regenerated in its own commit
scripts/check_ont_ratchet.sh:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
scripts/check_ont_ratchet.sh:2 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
scripts/check_ont_ratchet.sh:3 ours (ONT-10) changed after copying: by hand, this side supersedes (see commit msg)
scripts/check_ont_ratchet.sh:4 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
scripts/check_ont_ratchet.sh:5 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
scripts/lib/model_ladder_cells.py:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
scripts/lib/model_ladder_cells.py:2 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
scripts/tree_reader_tests.txt:1 ours (ONT-10) pure copy: car hunk is a version in ONT-10's history → ontology version
scripts/tree_reader_tests.txt:2 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
scripts/tree_reader_tests.txt:3 ours+theirs pure copy: car hunk is a version in ONT-10's history → ontology version (car text ⊂ ours)
scripts/tree_reader_tests.txt:4 ours+theirs changed after copying: resolved by hand, both sides' intent kept
tests/fixtures/ont/valid-under-appendix-b/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-bad-qualifier/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-empty/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-no-kernels/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-nonkernel-bad/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-ok/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-ratchet-rise/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-undeclared-key/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-unknown-world/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)
tests/fixtures/ont/valid-under-world-not-a-string/ontology.yaml:1 theirs (car) changed after copying: by hand, this side supersedes (see commit msg)

Follow-up commits after the merge (each its own commit, listed by hand)

file:hunk side kept why
crates/aprender-ptx-debug/src/bin/main.rs (d3fa68a) theirs (car) the merge kept ONT-10's pre-#4062 bin bodies under the car's imports (14 compile errors); the car's thin shim is kept
crates/aprender-ptx-debug/src/run.rs (d3fa68a) theirs + ported ONT-10 guard ONT-10's #4079 .version guard moved into the car's library analyze_ptx_file
scripts/dogfood_surfaces.sh (faff3aa) ours, renamed 3 comments name the #4430 bins; no case arm keyed on the old names
merge 44bbbee: bin-aprender-simulate--aprender-simulate-v1.yaml, surface_audit.csv, binary-contracts/README.md ONT-10 d2e51b9, renamed S13 unserved: rows ported onto the renamed files
crates/aprender-contracts/src/ontology/extract/claims.rs (47d1982) ours + fix #4415 guard-cargo-steps manifest: an X-steps job counts when X is selected and runs ci_guards.sh X (case test added); otherwise the car's setsid --wait README/CLAUDE commands trip PV-ONT-012
crates/aprender-core/build.rs (30c8283) ours + reasons an inline reason on each of the 12 ALLOWED_GAPS entries (car AllImplemented × ONT-3a measured unresolved)
regen: README count, census.json 1890, contracts.nt, shapes.ttl, pv-sat witness regenerated generated, never hand-merged
evidence/binary/snapshot.jsonl pending regen re-snapshot on the renamed bins is building; lands as a follow-up commit
cherry-pick 3eae7bf README.md theirs (car fix) install fences are text, not CI-verified claims

noahgift and others added 30 commits September 26, 2026 19:33
… (0.69.4 #4318 cuda-unit red)

cuda-unit on #4318 (f230832) failed gpu_every_serve_route_prefills_through_the_batched_prefill
with left 2, right 1. Its log shows the chat request DID prefill batched, twice:
14 tokens from position 0, then 7 from position 14. e6004d7 (#4214) splits a
prompt at its checkpoint (before a chat's last <|im_start|>, else before its last
token) and updated the session test to 2 and 4; the #4250 serve test kept
"one per request".

Expected per route, from Session::prepare_prompt + Qwen35Session::checkpoint_at:
- chat, fresh: history span + generation-header span = 2
- chat again, streamed: restores request 1's checkpoint, one span = 3
- /v1/completions, raw: one span up to the last token, then a one-token step
  the counter never sees = 4
Per-token serve adds 0 everywhere, so #3596 stays RED. The messages keep their
"prefilled its prompt one token at a time" prefix, which the cuda-nightly RED
control greps.

Refs #4250 #4214 #4318

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 9bc06c3)
…KIP there is RED (#4251)

ci.yml's cuda-only step selects gpu_every_serve_route_prefills_through_the_batched_prefill.
There a missing Qwen3.5 file counts as a legitimate skip, and the runners carry none, so the
test passed without running.

The gx10 job now gets a step. It resolves APR_QWEN35_MODEL, whose default path gx10 carries
(vars override, as for PERF-053). If the file is absent, the step fails as
UNMEASURABLE. It then runs the test with --exact --nocapture and fails on:
- a nonzero exit,
- any `SKIP:` line,
- any result other than exactly `1 passed`.
It carries !cancelled(), so an earlier red falsifier cannot hide it.

The test module reads APR_QWEN35_MODEL, and falls back to the old hardcoded path.

Case table on the step's own run: block, driven by a fake cargo:
pass=0, skip=1, fail=101, zero-tests=1, model-absent=1. All 5 matched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 0a27696)

(cherry picked from commit 86d3775)
backport note: non-workflow part applied; WITHHELD for 36: .github/workflows/cuda-nightly.yml hunks (this session may not edit .github/workflows)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r 0 tests run

The step and #4251's done_when both used the bare function name with --exact.
libtest matched 0 tests (17978 filtered out). The step's `1 passed` check would
have turned that RED, but it would never have run the test. The test's path is
api::openai_handlers::qwen35_serve_tests::gpu_every_serve_route_prefills_through_the_batched_prefill.

On lambda (RTX 4090), through gpu-q, with the binary built from this branch:
- default: ok, 1 passed, and every route logs `[qwen35] batched prefill: N tokens`
- APR_QWEN35_SESSION_PREFILL=per-token: FAILED (exit 101), panics at
  qwen35_chat_backend_tests.rs:448

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit bfcf8dc)

(cherry picked from commit f6da455)
backport note: WITHHELD for 36: workflow-only (.github/workflows/cuda-nightly.yml); this session may not edit .github/workflows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…per-machine model path

guard-cargo: #4110 inserted FALSIFY-VERSION-005 before -004 in
apr-version-traceability-v1, a new "test ID gap" violation that took
contract_data_integrity to 445 against its 444 ceiling. Put 005 after 004.
validate_contracts: 10/10 pass; pv validate: 0 errors.

guard-tree: #4254's effective-config test hardcoded
/home/noah/models/Qwen3.5-0.8B-Q4_K_M.gguf, taking out-of-workspace
fixture paths 85 -> 86. The path now comes from APR_QWEN35_08B_GGUF (skip
names the variable when it is unset). check_test_fixture_paths: 85/85 PASS.
With the variable set, the test ran and passed (1 passed, no SKIP).

Refs #4318

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

(cherry picked from commit deb10aa)
backport note: PARTIAL: effective_config_route_pp2.rs per-machine model path applied; contract ID reorder SUPERSEDED (car already lists FALSIFY-VERSION-005 after -004, pointing at aprender-build-sha emit_tests)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…set checker (#4292)

build-apr-darwin builds apr (default features, no cuda) natively, proves
arm64 + no libcuda + --version, records minos, and uploads
apr-<tag>-aarch64-apple-darwin-cpu.tar.gz(+sha256) over REST.
check_release_assets.sh now expects 18 assets; verify-apr-assets waits for
the lane. Runner label is PENDING an operator ruling (#3073 no-hosted rule).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit f1ff895)

(cherry picked from commit 134df95)
backport note: SUPERSEDED on car by #4327: binary-release.yml build-apr-darwin (mini-builder) + check_release_assets.sh 18 assets incl darwin

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hosted macos-14 (#4292)

Operator 2026-09-24: "register the mini as self-hosted mac builder".
Adds a tool preflight for the self-hosted box.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit f2743de)

(cherry picked from commit 0dece9f)
backport note: SUPERSEDED on car by #4327: build-apr-darwin runs-on [self-hosted, macOS, ARM64, mini-builder]

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…atchet — mini-builder declared (infra#1042)

- check_runner_labels: mini-builder is a one-box discriminating label (the
  mini's dedicated repo-level release runner, infra#1042)
- actionlint.yaml: declare mini-builder as a known self-hosted label
- check_release_assets(.sh|_test.sh): here-strings instead of pipe-into-grep -q
  (ratchet stays at baseline 74)

Refs #4292

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit bc27a3c)

(cherry picked from commit 995a52c)
backport note: SUPERSEDED on car: mini-builder already in check_runner_labels.sh and .github/actionlint.yaml; car's check_release_assets(.sh|_test.sh) are the #4327/#4352 rewrite

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r on the Qwen3.5 hybrid (#4254)

The batch's #4254 fix (cbc571a) is pinned by a test that calls
effective_config() directly. The issue is that the two ENDPOINTS
contradicted each other in one process, so this drives both through
create_router_with_config on one real 0.8B state: compute_class and
backend_loaded equal /health's compute_mode, quantization and
parameter_count are measured, build_features lists gpu/cuda only when
the launcher can dispatch them, and build_commit is APR_GIT_SHA with
no +no-git suffix.

Ported from PMAT-4254-effective-config-cpu@4264ee2cc (the test only;
its fix duplicates cbc571a, which is already in this batch).

Refs #4254
Pmat-Ticket: PMAT-4254

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 031c2bc)
…very member again (#4352)

The stamp heredoc, the versions() JSON and the mutant builder are bash + POSIX awk + jq.
Parity with the python: 121 cases (real workspace manifests + 9 edge fixtures x 11 tags,
incl. CRLF/CR, no final newline, dup members, exclude ".", source on a block's first line,
consecutive [[package]], quoted tags) -- stdout, rc and the rewritten tree byte-identical.

ONE deliberate difference, and it is a live rc-cut defect: the python cut `members = [...]`
at the first `]`, even inside a comment. #4219's "# ... every [[bin]] ..." (batch/0.70.0
only) ended the list after 3 entries, so apr-cli's `aprender = { path, version = "0.69.0" }`
was never stamped: batch tree + python stamp -> `cargo metadata` rc 101 "failed to select
aprender-core ^0.69.0" (unstamped control rc 0). The port strips `#` comments first:
81 manifests, 116 pins, cargo metadata --locked rc 0, all 80 workspace crates at the rc.

Self-test: scratch `members` now carries the #4219 shape (RED on the old stamper: LOCKED-FAIL),
and a 5th mutant (comment strip dropped) must be refused by cargo. PASS with python3 stubbed.

Refs #4352

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit d20f3a3)
(cherry picked from commit 51d97f4)
…275 fragment only)

Pmat-Ticket: PMAT-4275

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

(cherry picked from commit aeeda2a)
backport note: PRESENT: roadmap.yaml union with car adds nothing (aggregate regenerate; car's aggregate is regenerated from its own fragments)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the host's ~/.cargo/bin — it overwrote the gx10 fleet-bins release binary every beat (Refs #4346)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit c4fd00a)
(cherry picked from commit 793ff9ef364f6796fa4419da283756e01b85b2af)

(cherry picked from commit 05c813d)
backport note: WITHHELD for 36: workflow-only (.github/workflows/qwen-story-daily.yml); this session may not edit .github/workflows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ded same-family (agy lane exit 3, foreign ref churn)

Also files PMAT-4346 in the roadmap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit a458e37)
(cherry picked from commit 2aabb39593c7eb619290b6fcfa4b07a981cff351)
(cherry picked from commit 9166643)
…4283)

Measured 2026-09-24: `--version v0.69.3-rc.1` already installed a working
rc, but only for a dev who already knew the tag. /releases/latest skips
prereleases, --help said --version took a "stable tag", and there was no
way to ask for the newest rc.

--channel stable|rc|nightly. rc = the first vX.Y.Z or vX.Y.Z-rc.N tag in
/releases (newest-first, prereleases included), so it never picks the
rolling nightly and never an rc older than the latest stable.
--channel nightly is --nightly. --channel rc + --version is refused.

install_test.sh: +4 rows. Row 12 derives the expected tag itself and
asserts the installer chose it. Mutant `get_rc_version -> get_latest_version`
turns row 12 red (resolved v0.69.1, wanted v0.69.3-rc.1).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 6205968)
(cherry picked from commit 14cc35903468ab87929655a73efa2de87fe9eafa)
(cherry picked from commit 9595b70)
…htly + release gate (#3546)

scripts/tests/install_e2e_container.sh runs the README one-liner in debian:bookworm-slim as a fresh
non-root user and checks, against facts resolved on the host (not install.sh's own output):
channel -> tag (and --expect-tag for the release gate), published .sha256 == asset, install.sh
reported that digest, apr on PATH byte-identical to the asset's, and `apr --version` names the
tag version AND a prefix of the tag's commit (`+no-git` fails). --self-test: 8-row case table.

Measured 2026-09-24 on lambda: stable v0.69.1 and rc v0.69.3-rc.2 pass 5/6; both FAIL the version
check — the published binaries print `+no-git` (APR_GIT_SHA_OVERRIDE is on B2, not main).

install.sh: bashrs 0 errors / 0 warnings (colour vars defaulted, quoted help heredoc, `..` in
--install-dir rejected). install-script.yml: e2e-container job (stable, rc) nightly + on path
changes; lint step requires 0 warnings for install.sh and the e2e. binary-release.yml:
install-e2e job after verify-apr-assets, wired into summary.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 2fe8a74)
(cherry picked from commit 4a58f9fe045b62540625058ffe2831c60a63cfb9)

(cherry picked from commit 0a0c597)
backport note: non-workflow part applied; WITHHELD for 36: .github/workflows/binary-release.yml,.github/workflows/install-script.yml hunks (this session may not edit .github/workflows)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ily; regenerate the roadmap aggregate after the 0.69.4 picks

Refs #3546 #4283 #4346 #4249

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit d56760f)
…nreachable)

Unsigned; the CI signer signs. Guard accepts a throwaway-key-signed copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 01c71e6)
/#4275 parity)

Batch quorum lane 1 FAIL: build-apr-darwin built the unstamped tag tree, so a
vX.Y.Z-rc.N darwin asset printed bare X.Y.Z, and no smoke job checks darwin.
Now stamps like the linux lanes (stamper + checker from the workflow commit)
and runs asset_version_check.sh on the built binary before packaging.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

(cherry picked from commit 3c4e192)
backport note: SUPERSEDED on car: build-apr-darwin already stamps via stamp_rc_version.sh from the workflow commit and checks it (binary-release.yml ~650)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fix, degraded: same-family (#4318)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 02d4618)
…s sha (#4318)

- install_e2e_container.sh: resolve apr by walking PATH inside the container and assert the
  resolved path is tester's ~/.local/bin/apr (guard-cargo flagged 3 unpinned apr refs).
- binary-release.yml build-apr-darwin: pass APR_GIT_SHA_OVERRIDE (9-hex HEAD), as the linux
  cuda/cpu lanes already do, so the asset is refused by asset_version_check.sh if +no-git.

The e2e red on 'apr 0.69.3 (v0.69.3+no-git)' is the published v0.69.3 asset (built before
59135e4 added the override); it clears when an override-built tag is published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

(cherry picked from commit 696576e)
backport note: non-workflow part applied; WITHHELD for 36: .github/workflows/binary-release.yml hunks (this session may not edit .github/workflows)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SC2106 misread the { ...; break; } brace group as a subshell: exit 0/exit 1 from the $(...)
instead, which also makes a missing apr a non-zero status. SC2154: APR is assigned in the
su shell, invisible to the linter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 6281d9f)
…hrs SEC001, #4318)

guard-cargo's bashrs-gate failed on 'eval "$oldng"' at :223. Record the state with
shopt -q and restore it with shopt -s/-u. Self-test PASS; bashrs-gate PASS locally.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit e819301)
…xity, roadmap aggregate

- kernel-fusion-v1.yaml: FUSION-006/007/010 call_site pins moved +10 lines
  (381/384/387) after da38177 (#4273) grew kernels_generate_gemm_cuda.rs;
  fusion_call_site_guard_3985 read a match arm, not the kernel call.
- session.rs: Session::generate's prompt refusals move to admit_prompt, so
  generate drops from cognitive 26 (NEW over 25 vs main after #4325's
  cancel poll) to 20. Same errors, same order.
- roadmap.yaml regenerated with make roadmap-aggregate (16 lines of drift).

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

(cherry picked from commit b02807d)
backport note: PARTIAL: session.rs generate complexity split + roadmap applied; FUSION call_site pins kept as car's (they pin car's own kernels_generate_gemm_cuda.rs lines)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…an overflowing size (#4313)

saturating_add let usize::MAX bytes "fit" in usize::MAX free; the test caught it. Budget: cosine 0.999995, logits 7.5e-3, state 1.25e-2 (worst of n=64/600 with splits on 0.8B: 0.9999995, 7.32e-4, 1.215e-3).

Pmat-Ticket: GH-4313

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit ebdac12)
(cherry picked from commit 3ca08df)
guard-cargo's check_no_claim_literals refused 3 new measured-reality literals
brought in by the 0.69.5 fold; the comments now cite aprender#4273 instead.

Pmat-Ticket: PMAT-4318

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 5660b08)
backport note: SUPERSEDED on car: #4273's car port (8d22414) already words these comments without tok/s literals

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ateConfig

The #4334 union (83bb714) made st_cpu_generate take the generate
config the handlers build. The car-only #4269 witness test still passed
(max_tokens, temperature). apr_cpu_generate_config(2, 0.0, None, [])
is the old config exactly: stop on token 0, the default top_p.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, 05c813d)

Cop ruling (aprender-77): the workflow edits of the backport set land as ONE
commit, with no runner or secret changes, reviewed by a 3/3 quorum.

- 86d3775 cuda-nightly: run #4250's serve batched-prefill test on gx10; a SKIP there is RED (#4251)
- f6da455 cuda-nightly: #4251's --exact filter needs the full test path, or 0 tests run.
  The path api::openai_handlers::qwen35_serve_tests::… is still right on car: the
  tests file is include!'d into openai_handlers.rs (measured with `--list` on the
  car lib test binary).
- 05c813d qwen-story-daily: build apr in place instead of cargo-installing into the host's ~/.cargo/bin

Not here: 2f9fe27 (wire check_cascade_converges.sh). Its ci.yml anchor, the
guard-cargo steps, moved to ci/sections.yml on car, which this ruling does not
cover.

(cherry picked from commit 86d3775, f6da455 and 05c813d, .github/workflows hunks only)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t split the git chain

d96c2ad3e (#4254) rewrote `run_git(&head).or_else(|| trusted_git_retry(&head))`
across three lines and appended `.or_else(read_head_sha_from_dot_git)`, so the
plant's one-line anchor matched 0 times and planted_regressions_turn_red failed
on its own precondition. The plant now deletes the retry link alone; the
foreign-owner row still turns RED (7/7, cargo test -p aprender-build-sha --lib).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
…key)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
…ire); generated ontology files stay main's

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
…rs + its build-dep; generated ontology/census stay main's

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
Co-Authored-By: Claude Opus 5.5 <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-4502,PMAT-4431,PMAT-4438,PMAT-4072,PMAT-3847,PMAT-4199,PMAT-4200,PMAT-4347,PMAT-4445",
 "head": "0be7c0037284cf5bf04b158a1a71036d60096bb8",
 "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": "FAIL",
   "findings": 0
  },
  {
   "lane": 3,
   "verdict": "FAIL",
   "findings": 2
  }
 ]
}

noahgift added a commit that referenced this pull request Sep 28, 2026
bashrs SEC001 flagged `eval "$*"` in the self-test's row() (#4502 defects
row 10). row() now runs "$@" directly; the four mutations that need a
redirect or two steps become named functions. All 15 rows keep their wanted
rc and needle, so each RED row still proves its mutation bit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
… row 5, clippy -D warnings)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit afb58c0)
noahgift added a commit that referenced this pull request Sep 28, 2026
…never saw it (guard m54)

include_fmt_ratchet.sh: RED at 0be7c00 (new include! fmt debt, not in baseline),
PASS after. Formatting only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 659abcd)
noahgift added a commit that referenced this pull request Sep 28, 2026
…ames

#4502 renamed ten shipped [[bin]]s to aprender-* but the ledger kept the old
names, so check_binary_debt.sh read each rename as one NEW plus one STALE
(10+10, #4502 defects row 4). Re-key the bin field only; class, target and the
legacy_names counters are unchanged (a rename is not a merge/delete decision,
and counters move only through the ratchet).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 50ab758)
noahgift added a commit that referenced this pull request Sep 28, 2026
bashrs SEC001 flagged `eval "$*"` in the self-test's row() (#4502 defects
row 10). row() now runs "$@" directly; the four mutations that need a
redirect or two steps become named functions. All 15 rows keep their wanted
rc and needle, so each RED row still proves its mutation bit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 8a003ed)
noahgift added a commit that referenced this pull request Sep 28, 2026
…w files — m52 refused 458 and 481

apr-format-golden-fixtures 458 -> 459 and aprender-facade-e2e 481 -> 483, both
free ordinals, so the ont8-evidence-gate (458) and pvl-comparator (481)
fragments #4502 added keep their slots and pvl-comparator still runs before
pvl-challenge (482). Command content unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 1630322)
noahgift added a commit that referenced this pull request Sep 28, 2026
… builds --locked)

L0 exception: fixes running job --locked (run 36388075483, mac-check job 108817628569).

The build.rs env_key build-dep lines added provable-contracts edges without
re-resolving the lock; cargo check --locked failed on the stale lock at b4ebf93.
Edges only, no new packages. Receipt: intel cargo check --workspace --all-targets
--locked rc=0, 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
… — elan 4 refuses to reinstall

Row 13, run 36353187094 x86-main: step 1 failed in 0.1s with
"error: 'leanprover/lean4:v4.29.0-rc4' is already installed". No judged file
was missing. elan >= 4 (4.2.0 on the fleet) exits 1 on `toolchain install`
of an installed toolchain, so the step passes once per host and fails every
run after that.

Install only when the toolchain is missing from `elan toolchain list`
(first column, so a "(default)" suffix still matches), and decide that
inside the same flock, so two jobs cannot both see it missing and race.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit de92271)
noahgift added a commit that referenced this pull request Sep 28, 2026
…(tree-reader drift)

workspace-test-shard step 7 (check_tree_reader_tests) failed in run 36388847584:
PR-1 adds aprender-contracts{,-cli} test targets without their registry rows.
Moves #4502's 12 contracts-cli .cmd wiring files into PR-1 instead of parking
11 targets in the unwired baseline (baseline unchanged), carries fb's m52
ordinal renames (457->459 golden-fixtures, 480->483 facade-e2e) that the moved
457/480 files need, and regenerates scripts/tree_reader_tests.txt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
noahgift added a commit that referenced this pull request Sep 28, 2026
…-debt re-key)

Local run of the wired contracts-cli targets on PR-1 failed (ont4b_shapes_gate,
shapes_vacuity, ont_entity_properties, ...: 'entity.type has no Σ
entity_type_target_class mapping'): PR-1 carried #4502's contracts code but not
its tests/fixtures/ont updates (164 files). Moves them in.
Row 4: cherry-picked 50ab758 (contracts/binary-debt-v1.yaml re-key).

(cherry picked from commit 50ab758)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
noahgift added a commit that referenced this pull request Sep 28, 2026
…usal-ok fixture follows the contract

- pv_surface_gate: #4502 carries VS-COUNT-001 (#2648) in validator.rs with no row
  in the decision table, so every_rule_in_the_validator_source_appears_in_the_table
  failed. Add a Case: one obligation, stated total 2, Error.
- ont_refusal_receipt: #4502 changed contracts/refusal-receipt-v1.yaml but not its
  byte-for-byte copy in tests/fixtures/ont/refusal-ok; copy it.

Agent: aprender-fb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
…der's sleep) into integ

Receipt 6b: old lib 10/10 held, fix 0/10; check_release_host_receipts self-test rc=1 old / rc=0 fix.

Agent: aprender-fb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Sep 28, 2026
… gate runs (#4502 row 2)

lint_passes_on_real_contracts requires the refinement gate to RUN whenever CI is
set; the gate compares HEAD with merge-base(HEAD, origin/main), else the origin/main
tip. The workspace-test-shard section clones at depth 1 and only the tier step's
pull_request arm fetched a main, so workflow_dispatch / merge_group / push shards had
no base and shard 3 panicked "the refinement gate declined" (run 36384418038).

Per the operator ruling (2026-09-28 09:41): pin the EVENT's base commit --
pull_request.base.sha, merge_group.base_sha, push's `before` -- as
refs/remotes/origin/main; the origin/main tip only for workflow_dispatch. A missing
or zero base fails the step with ::error (no silent skip). Placed after the tier
step, whose pull_request arm would otherwise overwrite origin/main with main's tip.

ci.yml is unchanged: it has no generator; fat_driver reads ci/sections.yml at run time.

Agent: aprender-41
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit cd587d6a5b317467b4eac3b5c10b65ecf2656f8a)
Agent: aprender-88
noahgift added a commit that referenced this pull request Sep 28, 2026
…ontracts tests read

shard 1 of run 36391942814 failed ont2c_tracked_ofn_and_report_are_fresh:
contracts/ontology.ofn and tbox-report.json are required-tracked writer outputs of
contracts/ontology.yaml. PR-1's ontology.yaml is byte-identical to #4502 integ
(f7858ca), so integ's outputs are the fresh ones; taken with the PVL discharge
summary + Lean axioms the discharge-check target reads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
noahgift added a commit that referenced this pull request Sep 28, 2026
…e ordinals 761/762 (#4502 row 3)

Shard1 step 13 REFUSEd two ordinals that each named two fragments: 458 (apr-format-golden-fixtures + contracts-cli ont8_evidence_gate) and 481 (facade-e2e + contracts-cli pvl_comparator). A shared ordinal leaves the run order ambiguous. The two contracts-cli fragments move to 761 and 762. Both commands are byte-identical; nothing else names these files.

check_explicit_test_commands.sh --check: base origin/fb/4502-a-diag rc=1 (2 REFUSE), this commit rc=0 (101 fragments, no shared ordinal).

Refs #4502

Agent: aprender-cb
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 59d6911a04a30b5f609fb67c11ca1aba32ad4381)
Agent: aprender-88
noahgift added a commit that referenced this pull request Sep 28, 2026
…usal-ok fixture follows the contract

- pv_surface_gate: #4502 carries VS-COUNT-001 (#2648) in validator.rs with no row
  in the decision table, so every_rule_in_the_validator_source_appears_in_the_table
  failed. Add a Case: one obligation, stated total 2, Error.
- ont_refusal_receipt: #4502 changed contracts/refusal-receipt-v1.yaml but not its
  byte-for-byte copy in tests/fixtures/ont/refusal-ok; copy it.

Agent: aprender-fb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 036beee)
Agent: aprender-88
@noahgift

noahgift commented Oct 3, 2026

Copy link
Copy Markdown
Member Author

K37 re-scoped into this ticket (la-0.72; checked at 316dee2cd4 with pv 0.70.0, no cargo). No new ticket.

The strict gate K37 asked for already exists: crates/aprender-contracts/src/lint/bindings_gate.rs (PV-ONT-028/029) with contracts/binding-allowlist.json, which has 163 entries, all filed under #4502. The 9 phantom bindings K37 found are among them: estimate_wgpu_vram, AprV2ModelCuda::upload_quantized_weights_to_gpu, verify_kv_cache_size, and the six realizar::gpu::scheduler::linear_attn::gated_delta_net_* rows.

What K37 adds here:

  1. pv audit --binding still counts a binding as implemented from its status field alone. It reports the allowlisted ghosts as implemented while the gate rejects them; the two should agree.
  2. Each ghost keeps status: implemented until it is rebound to a real fn or set to not_implemented.
  3. bindings is not in armed_gates in contracts/lint-baseline.json, so the gate prints its result but does not enter the lint verdict.
  4. On a workspace tree at 316dee2cd4, the gate reports one ghost that the allowlist does not name: gated_rmsnorm_oxide::kernels::gated_rmsnorm (contracts/binding.yaml:815-822, bound to gated-delta-net-v1 gated_rmsnorm). Its crate is the cuda-oxide experiment, which is not a workspace member. Arming the gate today would fail on that entry.

Branch la-72/k36-gdn-contract @ e8834d7711 (not a PR yet) rebinds the six GDN rows and the hybrid attention row to the fns serve runs in realizar::gguf::forward_qwen35. It also drops their 7 entries, 163 → 156. On a workspace tree, pv lint contracts at that tip gives the same gate verdicts and findings as 316dee2cd4, with no PV-ONT-029.

@noahgift

noahgift commented Oct 4, 2026

Copy link
Copy Markdown
Member Author

Closed with a pointer (0.70.2 PR backlog, C297 §5; aprender-6a for la-a). The content was split into #4587 (contracts layer) and #4588 (the rest). The docs-only rule files (scripts/ci_docs_only.sh, check_ci_gate_docs_only_rule.sh, PMAT-3668.yaml) are carried by #4639. The 599->617 CB-200 re-baseline was dropped by cop ruling (331e486). The renumbered explicit-test .cmd files are in the splits. Branch batch/ont-10 is kept, not deleted.

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

Labels

owner:aprender-88 owning session (cop inbox claims)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants