Skip to content

split(#4502 PR-1): contracts layer — PVL rows PMAT-4199/4200/4347, GH-4122, ONT-4c4 (#4069) - #4587

Closed
noahgift wants to merge 105 commits into
mainfrom
split/pvl-rows-0.70
Closed

noahgift wants to merge 105 commits into
mainfrom
split/pvl-rows-0.70

Conversation

@noahgift

@noahgift noahgift commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Split PR-1 of 2 of #4502. Per the operator plan, the split is a MOVE of #4502: PR-1 ∪ PR-2 = #4502's diff.

What: the contracts layer from #4502 r7 A 0be7c00372. That is:

c1's #4069 ONT-4c4 commits stay in (HARD KEEP).

Rows (operator rulings, relayed by the cop): all four PVL rows stay: #4199, #4200 and #4122 (the ONT-10 → ONT-5 → EV-9 dependency; gate-named rows never move), plus #4347. #4347 now carries 098fae4, which deletes the dead cooperative-matrix chain and clears the live f16 axiom. 29 contracts whose tests or [[bin]] live in PR-2 moved to PR-2; they are byte-identical there, and no kept row references them. PR-1 also takes 01's shapes fix: README, CLAUDE.md and the Makefile from the batch, plus the binary snapshot for PR-1's 30 bins.

Tripwire leaves fixed in this push (3c2a40a): 456 (ev11 baseline 129), 461 (EV-6a), lean-reach, 290, 343, 430 (fb), kernel-fusion call_site, binding 233/233, verification-ladder, the Axioms.lean regen, the dogfood ledger (144/886, G2.6 T2 PASS), and strict_test_binding. The generated set is regenerated once via batch_fold.sh --regen.

keep-open: PR-1 is half of the #4502 MOVE. Its rows (#4069, #4122, #4199, #4200, #4347, #4369) are closed by #4502 / PR-2, not by this half.
ont-delta: none — contract sources only. The generated ontology set is regenerated once in this push, and PR-2's single-writer regen owns the ontology delta.

Still red on intel at 3c2a40a (pre-push local receipt): 338 (ont4b tracked graph / corpus shapes), 472 (ont4d subsumption: pv exit 2), 480 (ONT-4c5 Unknown(NoFocus)). Owners are being routed; they are not fixed by this push.

Folded in (operator P4, 17:15Z, one push; cop 18:05Z):

  • C2: publish pv (aprender-contracts-cli) 0.69.4 + deps for B1 gate tool (L20) #4604 C2: pv set at 0.69.4 — aprender-build-sha, aprender-update, aprender-contracts-macros, aprender-common, aprender-contracts, aprender-contracts-cli. update-check + build-sha are OFF by default; binary-release.yml builds pv with them (operator B2). pv publishes from this PR's merge commit after clean-room (B3). keep-open: C2: publish pv (aprender-contracts-cli) 0.69.4 + deps for B1 gate tool (L20) #4604 closes on the crates.io publish, not on merge.

  • Shard 3 fix: the root lib-test container sets safe.directory=/workspace so the pinned origin/main resolves (run 36449404284 job 109019972318).

  • N-1: the pv: a shapes gate reports Pass AND armed over ZERO focus nodes — aggregate swallows decline: NoFocus #3610 exemption is a contract-level allow_empty: map, so the fleet-pinned pv 0.69.1 parses release-readiness-v1 (job 109019972501).

  • x86-main reds from run 36462668621 (81cd662): make contracts called scripts/contracts_gate.sh, which only PR-2 carries, so main's step-list recipe is restored here (make_contracts_propagates.sh 17/17, mutants included). That test's fixture now reads the pv version the way pv_bin.sh does (the crate first). In check_facade_compat.sh, CURRENCY and PUBLISH ORDER compare against the version this tree publishes for the fronted crate, as R3 already did (identical when unscoped; unreadable = FAIL). Facade pins are 0.69.4 and the facade lock is regenerated. On intel: PASS 32 ok, and a 0.69.3-pin mutant is RED.

  • Facade guard: exact scoped allowlist (ff5c834). Quorum q-pr1-r81cd2 on 81cd662 (gemini FAIL, sonnet PASS, haiku PASS) found that comparing a crate against its own version let a coordinated off-workspace drift pass. pub_ver now admits the workspace version, or the EXACT version scoped_ver declares for that crate (C2: publish pv (aprender-contracts-cli) 0.69.4 + deps for B1 gate tool (L20) #4604: six crates at 0.69.4). Case table, intel clone at ff5c834:

    Input Result
    this tree (scoped set at 0.69.4) PASS rc=0, 0 FAIL
    unscoped tree (crate == workspace version) same as before the edit
    mutant A: aprender-contracts removed from the allowlist (off-workspace, unlisted) RED rc=1
    mutant B: allowlist version 0.69.5 (wrong version) RED rc=1 (CURRENCY + both PUBLISH ORDER rows)
    mutant C: contracts, cli and macros drift together to 0.69.5, pins follow (the gemini case) RED rc=1
    unreadable version FAIL (<unread>), never a pass
  • Main merged in once (f766fc7, brings fix(ci): plumb secrets.PR_REVIEW_SIGNING_KEY_B64 under its real name; guard section secrets vs plumbing (#4510) #4512's signing-key secret name).

PR-2 (the rest of #4502): #4588.

A′ survivor table (operator ruling 2026-09-29 06:36Z)

CI builds the survivor table itself. A table typed up by hand does not count.

  • mutants-table-scope decides whether the head ref is in ci/mutants-table-refs.txt (PR-1 and PR-2 for 0.70). On every PR it also re-proves the gate rule and the checker.
  • mutants-shard (matrix 1..16, clean-room) checks out the PR head sha and computes git diff <merge-base>...HEAD. Each job writes meta.json (head sha, diff sha256, run id), list.txt (the full universe) and outcomes.json for --shard K-1/16.
  • mutants-table verifies before it trusts. RED on any of:
    • a dead, skipped or cancelled shard;
    • a missing, extra or twice-tested mutant;
    • a mutant with no verdict;
    • a sha that is not the head sha, or a diff hash that is not the PR diff hash;
    • survivors over MUTANTS_MAX_MISSED (default 0).
  • An equivalent needs three things: a one-line proof in evidence/mutants-equiv/<PR>.tsv, a pr-review receipt that names the mutant with reviewer ≠ author, and a .minisig that verifies against the base branch's .github/pr-review.pub.
  • gate requires mutants-table == success for a listed ref (GATE-MUTANTS-TABLE-RULE). The one-job mutants section hands a listed ref over to the table (has_rs=false). For any other ref it is unchanged.

Proof (G3): the case tables, re-run at this head

missing mutant → RED · wrong sha → RED · wrong diff → RED · complete table → GREEN (checker, 24 rows). Gate rule: 14 rows, and 3 planted weak rules are all RED.

output
ok    complete table, all killed -> GREEN
ok    a table missing 1 mutant -> RED
ok    a mutant tested twice -> RED
ok    a shard run on the wrong head sha -> RED
ok    a shard bound to another diff -> RED
ok    a shard that delivered nothing -> RED
ok    shards that listed different universes -> RED
ok    a tested mutant that was never listed -> RED
ok    an empty universe -> RED
ok    one survivor over limit 0 -> RED
ok    one timeout over limit 0 -> RED
ok    an unviable mutant counts as killed -> GREEN
ok    an unknown outcome -> RED
ok    survivor within --max-missed 1 -> GREEN
ok    equivalent with proof + receipt naming it -> GREEN
ok    equivalent whose receipt does not name it -> RED
ok    equivalent citing a stray file that names it -> RED
ok    equivalent citing a receipt path that is not an in-toto statement -> RED
ok    equivalent whose receipt is a self-review -> RED
ok    equivalent whose receipt is unsigned -> RED
ok    equivalent signed by a key that is not --pubkey -> RED
ok    equivalent row checked with no --pubkey -> RED
ok    equivalent with no proof column -> RED
ok    equivalent row for an id outside the universe -> RED
PASS
=== gate requires the survivor table for a listed head ref (check_ci_gate_mutants_table_rule.sh) ===
ok    row 1  pull_request scope=success   in=true  table=success   -> pass
ok    row 2  pull_request scope=success   in=true  table=failure   -> FAIL
ok    row 3  pull_request scope=success   in=true  table=skipped   -> FAIL
ok    row 4  pull_request scope=success   in=true  table=cancelled -> FAIL
ok    row 5  pull_request scope=success   in=false table=skipped   -> pass
ok    row 6  pull_request scope=success   in=false table=success   -> FAIL
ok    row 7  pull_request scope=success   in=-     table=skipped   -> FAIL
ok    row 8  pull_request scope=failure   in=-     table=skipped   -> FAIL
ok    row 9  pull_request scope=skipped   in=-     table=skipped   -> FAIL
ok    row 10 pull_request scope=cancelled in=-     table=skipped   -> FAIL
ok    row 11 merge_group  scope=skipped   in=-     table=skipped   -> pass
ok    row 12 push         scope=skipped   in=-     table=skipped   -> pass
ok    row 13 merge_group  scope=success   in=true  table=success   -> FAIL
ok    row 14 merge_group  scope=skipped   in=-     table=failure   -> FAIL
=== the survivor-table checker's case table (scripts/ci/mutants_survivor_table.py --self-test) ===
ok    complete table, all killed -> GREEN
ok    a table missing 1 mutant -> RED
ok    a mutant tested twice -> RED
ok    a shard run on the wrong head sha -> RED
ok    a shard bound to another diff -> RED
ok    a shard that delivered nothing -> RED
ok    shards that listed different universes -> RED
ok    a tested mutant that was never listed -> RED
ok    an empty universe -> RED
ok    one survivor over limit 0 -> RED
ok    one timeout over limit 0 -> RED
ok    an unviable mutant counts as killed -> GREEN
ok    an unknown outcome -> RED
ok    survivor within --max-missed 1 -> GREEN
ok    equivalent with proof + receipt naming it -> GREEN
ok    equivalent whose receipt does not name it -> RED
ok    equivalent citing a stray file that names it -> RED
ok    equivalent citing a receipt path that is not an in-toto statement -> RED
ok    equivalent whose receipt is a self-review -> RED
ok    equivalent whose receipt is unsigned -> RED
ok    equivalent signed by a key that is not --pubkey -> RED
ok    equivalent row checked with no --pubkey -> RED
ok    equivalent with no proof column -> RED
ok    equivalent row for an id outside the universe -> RED
PASS
PASS
=== gate survivor-table rule: planted weak rules must turn the table RED ===
ok    planted "table-failure-only" is RED: 8 row(s)
ok    planted "ignore-scope" is RED: 7 row(s)
ok    planted "trust-in-scope-only" is RED: 7 row(s)
ok    a workflow with no rule block is ENV rc=2, never a pass
SELF-TEST PASSED

Mutation proof: I disabled 16 separate checks with sed, one at a time. Each one turns the checker's self-test RED. Review: three Sonnet lanes, receipt evidence/pr-review/4587/b132bf3c34….

🤖 Generated with Claude Code

noahgift and others added 7 commits September 28, 2026 08:01
…200 EV-7a, PMAT-4347, GH-4122 EV-5a

Takes the aprender-contracts / -cli / -staging trees and the additive
aprender-common cli_roles module from #4502's r7 A head 0be7c00, plus the
cooperative-matrix delete (#4347) and the PVL ci/explicit-test-commands.d rows.
Workspace versions stay at main's. Generated files are excluded
(discharge-summary.json, Lean Axioms pin); 98 regenerates them as the single writer.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ire); generated ontology files stay main's

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rs + its build-dep; generated ontology/census stay main's

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… row 5, clippy -D warnings)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit afb58c0)
…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)
@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

§13.11 rung 1 — quorum shadow verdict

S13-SHADOW pr=4587 head=af891a92c77d90367d1c25699961fcb6eb8602ed 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.

noahgift and others added 5 commits September 28, 2026 08:54
… 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>
…(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
…-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
roadmap aggregate, pv census, pv extract (contracts.nt + shapes.ttl) and the
README CONTRACT_COUNT blocks, regenerated with the pv built from this tree;
fixed points asserted: make roadmap-aggregate-check, pv extract --check,
readme_sync.sh --check.

Agent: aprender-88
… file (ENOTDIR) — chmod 0o555 does not stop root, CI runs as root

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-01
(cherry picked from commit 3e65448)
Agent: aprender-88
noahgift and others added 16 commits September 28, 2026 09:48
… 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
…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
…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
…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
…ce is not vacuous; shapes_n 66; all 8 refusal fixtures

- extract:binary (ONT-4g) refused every [workspace] root whose snapshot is absent, even one whose manifests
  declare zero bin targets. The ont fixtures (code-bound, ...) are such roots, so PV-ONT-012 turned the shapes
  gate red there (ont4b2_code_lean_w3c 343). Refuse only when the census names targets; new unit test for the
  0-bin root, the 3-target absent-snapshot test stays red.
- ont4b_shapes_gate (338): the later ONT-10 slices added nine binary shapes; name them, 57 -> 66 (measured by
  `pv extract contracts --check` at 036beee).
- ont_refusal_receipt (430): the other seven refusal-* fixtures carry the contract too; copy it to all.

Agent: aprender-fb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 23122d3)
Agent: aprender-88
… (pv discharge gen-axioms)

The copy taken from integ f7858ca binds a root set PR-1's contracts do not
have, so pvl_discharge_check::the_real_lean_tree_passes_the_ev_6a_probe rejected
it as differing from its regeneration. Written by the in-tree pv at 4f01e3f.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
…te, binding 233/233, ladder doc

- contracts/kernel-fusion-v1.yaml: call_site back to :371/:374/:377. The 0be7 copy
  cites :394/:397/:400, but the +23-line shift in kernels_generate_gemm_cuda.rs is
  PR-2's; PR-1 and main have FusedQKVKernel at :371 (tripwire leaf #8).
- contracts/binding.yaml: 233/233, the mutant set PR-1's tree derives. 237 is
  PR-2's (leaf #13, check_pr_review_counts).
- verification-ladder.md: moved in from PR-2 (blob 597d344, identical there), because
  levels.rs (ONT-2a andon, a keep row) asserts it (leaf #6).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
…-stated

The yaml went back to main (075c5bf). surface_audit.csv carries the 98 cli.rs
rows that match PR-1's cli.rs (blob 487a124), not main's 76. The cited feature
ratio is now 144/886 (16.3%) wherever a cluster ratio appears. check_dogfood_coverage: PASS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
cooperative.rs was never compiled (no mod in shaders/mod.rs, no caller since
coop_gemm_bench was deleted), so contract cooperative-matrix-gemm-v1 bound a
kernel that does not exist, and CooperativeTiling.lean backed it with rfl
tautologies (A*B = A*B, sum = sum) that contracts.nt recorded as grounded.

Deleted: the shader, both contract copies, the book page, Challenge/,
CooperativeTiling.lean + its imports and Axioms.lean pins, and the 17 empty
contract_inv_cooperative_gemm! blocks. Regenerated census, contracts.nt,
README count, pv-sat witness. The proved RoundingModel lemmas move to 0.70.1
(fp16-cublas-gemm-v1), not copied here.

discharge-summary.json is NOT hand-edited: it is pv discharge run output
(comparator + leanchecker) and must be regenerated by that run.

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

(cherry-picked 098fae4 per COP 09:0xZ: KEEP #4347 + take the coop delete)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
… batch's, regen contractCount, add the binary snapshot

lint_passes_on_real_contracts:38 reported 135 SHACL errors at e13e9eb. README.md, CLAUDE.md
and Makefile are taken from 0be7c00 (fb/4502-a-diag), README contractCount is regenerated
from contracts/census.json (1837 -> 1889, `bash scripts/readme_sync.sh --write`), and
evidence/binary/snapshot.jsonl (binary-snapshot/v1, 30 lines) is taken from 0be7c00.

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

Agent: aprender-88
… 30 bin targets

The 0be7c00 snapshot names #4437's renamed bins, which this tree's manifests do not
declare (20 extractor errors). Regenerated here with 0be7c00's writer:
`bash scripts/dogfood_surfaces.sh --snapshot` (release profile, git_sha 05c0979df3).

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

Agent: aprender-88
… PR-1

strict_test_binding (tripwire leaf #5) found 23 PR-1 contracts citing tests PR-1
lacks, and shapes :459 NoFocus (01) found bin contracts with no matching [[bin]]
because PR-1 lacks #4437's Cargo.toml renames. COP 09:0xZ: drop them; do not
carry the renames. All 29 are byte-identical on split/ont10-rest-0.70, so this
is a move, not a loss. Gate-graph check: outside contracts.nt (regenerated) and
each other, nothing in the tree references them; no #4199/#4200/#4122/#4347 row
does. apr-version-traceability-v1.yaml goes back to main (PR-2 carries the edit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
… rc=0)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
…s.ttl, README; extract re-run after readme_sync to reach the fixed point)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
…ter the CooperativeTiling delete (456)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-88
… (VS-COUNT-001)

8981d46 carried main's verification_summary.total_obligations: 16 back into PR-1, but
the contract has 9 proof_obligations and PR-1 ships the VS-COUNT-001 validator, so
validate_all_contracts failed and the lint validate gate failed under every full run
(lint_passes_on_real_contracts meet=Fail, lint_findings_on_failure, ont2b gate mode,
ont7). 0be7c00 carries 9. contracts.nt needs `pv extract contracts` after this.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-01
noahgift and others added 2 commits September 30, 2026 23:14
Measured with cargo mutants on lambda (--lib, per file):
- code.rs 22/22 caught (19 from shard 12, 3 in type_member)
- cli_surface.rs 12/13; 387:5 positive_control -> true is a zero-arg
  self-check over a const and is left for a ruling, not skipped
- claims.rs 2/2 (fences, prose_lines), json/github.rs 1/1 (refused_saying)
contracts --lib: 2200 passed. tree_reader_tests.txt gains the
ontology::extract row the workspace-test shards failed on.

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e char is one byte

`m * c.len_utf8()` is `m * 1` for the only two fence chars (`` ` ``, `~`), so the
`* -> /` mutant (claims.rs:88:19, #4588 shard 8) was equivalent. No skip, no
equivalents row: the arithmetic is gone.

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nts in ratchet mode (C188)

- scripts/tree_reader_tests.txt: regenerated (check_tree_reader_tests.sh --update);
  its drift was the ws-test 1/2/3 + guard-cargo red.
- gate: the MUTANTS-RATCHET block of #4647 (#4646), byte-identical and at the same
  spot, so this PR's own run does not wait for #4647, and the merge with #4647 is a
  clean identical change (merge-tree: 0 conflicts). Every check above the block is
  unchanged; the RESTORE PR #4648 deletes it after crates.io.

Refs #4646
Agent: aprender-ca
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift
noahgift disabled auto-merge October 1, 2026 08:28
@noahgift

noahgift commented Oct 1, 2026

Copy link
Copy Markdown
Member Author

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

{
 "ticket": "PMAT-4502,PMAT-4199,PMAT-4200,PMAT-4347,PMAT-4166,PMAT-4139,PMAT-4604,PMAT-4369",
 "head": "5296a9fef738be14d037a3e7c6c2476a73b28102",
 "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": 2
  },
  {
   "lane": 2,
   "verdict": "PASS",
   "findings": 0
  },
  {
   "lane": 3,
   "verdict": "PASS",
   "findings": 0
  }
 ]
}

…nd that the mutants rules are off on purpose until #4648

Quorum lane finding (q-4587c, sonnet): the comment named ci/mutants-debt.tsv and
scripts/check_mutants_debt_ratchet.sh as the blocking rule, but on a branch
without #4647 neither exists. Same block text in #4647/#4587/#4588 so the three
still merge without conflict. No check changed.

Pmat-Ticket: PMAT-4646
Agent: aprender-ca
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Oct 1, 2026
…nd that the mutants rules are off on purpose until #4648

Quorum lane finding (q-4587c, sonnet): the comment named ci/mutants-debt.tsv and
scripts/check_mutants_debt_ratchet.sh as the blocking rule, but on a branch
without #4647 neither exists. Same block text in #4647/#4587/#4588 so the three
still merge without conflict. No check changed.

Pmat-Ticket: PMAT-4646
Agent: aprender-ca
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Oct 1, 2026
…nd that the mutants rules are off on purpose until #4648

Quorum lane finding (q-4587c, sonnet): the comment named ci/mutants-debt.tsv and
scripts/check_mutants_debt_ratchet.sh as the blocking rule, but on a branch
without #4647 neither exists. Same block text in #4647/#4587/#4588 so the three
still merge without conflict. No check changed.

Pmat-Ticket: PMAT-4646
Agent: aprender-ca
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sonnet seat (agent:claude-sonnet-5-5/pr-4587-review), base 00052c0. Verdict
DEGRADED (782-file diff sampled), 0 errors. The mutants rules being unreachable
is the operator's C188(a) ratchet order; restore is #4648.

Pmat-Ticket: PMAT-4502
Agent: aprender-ca
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift

noahgift commented Oct 1, 2026

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-4199,PMAT-4200,PMAT-4347,PMAT-4166,PMAT-4139,PMAT-4604,PMAT-4369",
 "head": "ee9d92bab5c0ff2527c06895a82aedc6e25708b9",
 "width": 3,
 "executor": "agy",
 "agreed": false,
 "auto_merge": {
  "checked": true,
  "was_armed": false,
  "disarmed": false,
  "note": "auto-merge not armed"
 },
 "lanes": [
  {
   "lane": 1,
   "verdict": "PASS",
   "findings": 0
  },
  {
   "lane": 2,
   "verdict": "FAIL",
   "findings": 2
  },
  {
   "lane": 3,
   "verdict": "FAIL",
   "findings": 2
  }
 ]
}

@noahgift

noahgift commented Oct 1, 2026

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-4199,PMAT-4200,PMAT-4347,PMAT-4166,PMAT-4139,PMAT-4604,PMAT-4369",
 "head": "ee9d92bab5c0ff2527c06895a82aedc6e25708b9",
 "width": 3,
 "executor": "agy",
 "agreed": false,
 "auto_merge": {
  "checked": true,
  "was_armed": false,
  "disarmed": false,
  "note": "auto-merge not armed"
 },
 "lanes": [
  {
   "lane": 1,
   "verdict": "PASS",
   "findings": 0
  },
  {
   "lane": 2,
   "verdict": "FAIL",
   "findings": 1
  },
  {
   "lane": 3,
   "verdict": "FAIL",
   "findings": 2
  }
 ]
}

noahgift and others added 4 commits October 1, 2026 20:21
…s, K11 shapes.rs, K12 challenge.rs (cursor-free rewrites), K13 proof_status, K14 lint/extract

K10/K11/K12 measured 14/14, 27/27, 50/50 caught; K13/K14 mutation runs were cut by the lambda reboot (NOT_MEASURED).

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r that hunk only; A' mutants-table-scope kept

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sonnet seat (agent:claude-sonnet-5-5/pr-4587-review), base 430be65. Verdict DEGRADED: delta-only sample (32fc88e..HEAD) of a 784-file diff; duplication/agy/mutation not run on this head (not_measured). ci.yml merge hunk: comment-only, mutants-table-scope intact, no gate weakened. diff_patch_id c0ed4ceedd. Unsigned: the key is a CI secret.

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift
noahgift enabled auto-merge October 1, 2026 19:40
noahgift added a commit that referenced this pull request Oct 1, 2026
…, K2 code.rs tests ported

refines_gate.rs:181 (refines_pairs) and :207 (passed) now asserted. claims.rs gets K3 fences
tests (lane C 79:10, 113:29) and fence_close slices m bytes as fence_open does (88:19 was
equivalent: the fence char is one byte). K2 code.rs tests from #4587 kill 237:71, 255:38.
Measured: 48 tested 46 caught (filter artifacts re-run under full --lib: 11/11 caught).

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift added a commit that referenced this pull request Oct 1, 2026
Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	.github/workflows/ci.yml
noahgift added a commit that referenced this pull request Oct 1, 2026
Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…judged by the #4647 ratchet section

The intel mutants-shard runs hit the 720m timeout on every past run, so the A' survivor table cannot finish. With no head refs listed, the mutants section is report-only and ci/mutants-debt.tsv stays shrink-only (#4647). Prepared LOCAL ONLY, pending the operator's choice.

Pmat-Ticket: PMAT-4502
Agent: aprender-07
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift
noahgift disabled auto-merge October 2, 2026 06:25
noahgift added a commit that referenced this pull request Oct 3, 2026
…rename release:ModelCell

Re-ran the hotspot check that §4 requires before B2 and OBS-05, git only,
against origin/main 316dee2. Trial merges used the old git merge-tree,
with one positive and two negative controls. Every conflict in B2 (6 code
files) and OBS-05 (ontology/shapes.rs) comes from one commit, 989cb01
(fold(0.70) #4655). Of the added lines in the ONT-10 PR heads,
#4587/#4588/#4589/#4611 have 99-100% on main and #4615 has 93%; the
not-on-main controls score 2.6% and 11.2%. So the "after ONT-10" condition
is met in content.

B2 duplicates nothing on main, but the class release:ModelCell now means
two things. On main, v1 (since 989cb01) uses it for a non-generating
model-command cell whose shape requires release:row. Seg 7's v2 uses it for
a cell derived from kernel cells whose shape requires release:usesKernel.
B2 renames its class before the PR. This is a static reading; no cargo
was run (C277).

Agent: la-0.71
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift

noahgift commented Oct 4, 2026

Copy link
Copy Markdown
Member Author

Closed with a pointer (0.70.2 backlog, aprender-78): this PR's content landed on main in #4655 (989cb01, "fold(0.70): #4587+#4588 …"). Measured: of the 786 files it touches, the only ones whose PR-side change is absent from main are contracts/census.json, one witness json (generated, regenerated on main) and two version = "0.69.4" pins that main supersedes with version.workspace = true. Branch split/pvl-rows-0.70 is kept.

@noahgift noahgift closed this Oct 4, 2026
noahgift added a commit that referenced this pull request Oct 8, 2026
…rex crate snapshot

Step 3 of 3 (PMAT-4524). This commit restores the branch's content on the 28
paths that step 1 pre-set to main's bytes, merged with main's changes to them.
Main's copy of crates/aprender-review-experiment is the branch's 066d43a
(REX-04), landed through fold #4655 (#4587/#4588), plus #4588's mutant-killing
tests. I 3-way merged each path on the branch commit closest to main's copy,
then resolved the hunks that were left as a union.

- crate: the branch's rows (C6, C11, C14, S1, ...) and all of main's tests.
  Two of main's tests were moved onto the branch API with their assertions
  unchanged. execution_problems became check_executed_fields (identical body).
  The prereg lock-header test now expects the re-locked rex-prereg-v2 header.
- aprender-serve: generate() keeps main's cancel-before-decode fix (#4325), plus
  the branch's prompt reuse (#4445/#4274) and logprobs steps (#4026).
  qwen35_prompt carries main's request-tools change (#4650).
- surface_audit.csv: main's rows. Every cited line is remapped through the
  branch's edits to commands_enum.rs, cuda_chat_backend.rs, openai_handlers.rs
  and router.rs (9/9 spot checks match main's source lines).
- Regenerated files: roadmap.yaml by roadmap-aggregate (plus the PMAT-4524
  entry), README counts by readme-sync, tree_reader_tests.txt by
  check_tree_reader_tests.sh --update. Cargo.lock is main's lockfile plus cargo
  metadata.

Refs #4354, #4524
Pmat-Ticket: PMAT-4524

Agent: rex
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

1 participant