From 35b83de3659be3e6dc9273d652d21517618d398e Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 19:48:35 -0500 Subject: [PATCH] Audit all compiled Cap declarations and harden auditor controls Preserve the Cap proof and pins; bind complete compiled support and IR inventory, retain actual failure evidence, and run finite auditor self-tests before full package qualification. Local V2: 95 tests per Python mode and 24 auditor mutations. Full corrected package admission remains pending hosted execution; no scientific or CBZ-0 promotion. --- .github/workflows/cap-first-exit-lean.yml | 15 +- .../CBZ_ADMISSION.md | 47 + .../MANIFEST.json | 2663 +++++++++++------ .../cap_first_exit_lean_20261002/README.md | 6 + .../compiled_inventory.py | 305 ++ .../cap_first_exit_lean_20261002/gate.py | 231 +- .../lean_opaque_control.py | 66 + .../run_cbz_mutations.py | 102 + .../test_compiled_inventory.py | 238 ++ .../cap_first_exit_lean_20261002/test_gate.py | 51 +- .../test_mutation_accounting.py | 67 + .../test_process_retention.py | 135 + .../test_runtime_boundary.py | 44 + .../test_source_admission.py | 63 + .../test_timeout_exit_zero.py | 45 + .../DECISIONS.md | 41 + .../EVIDENCE_INDEX.json | 153 + .../FROZEN_SOURCE_V2.json | 158 + .../QUALIFICATION_V2.json | 55 + .../README.md | 15 + .../actual-discovery-v2.json | 61 + .../baseline-source-red.json | 19 + .../fixture-phase-diagnosis.json | 103 + .../frozen-qualification-01.json | 127 + .../frozen-qualification-02.json | 301 ++ .../frozen-qualification-03.json | 409 +++ .../frozen-qualification-04.json | 277 ++ .../frozen-qualification-05.json | 49 + .../historical-attempts-01.json | 121 + .../historical-attempts-02.json | 85 + .../historical-attempts-03.json | 37 + .../historical-attempts-04.json | 19 + .../historical-attempts-05.json | 13 + .../independent-review.json | 49 + .../relative-cli-red.json | 61 + .../root-review.json | 19 + .../v2-qualification-01.json | 73 + .../v2-qualification-02.json | 250 ++ .../v2-qualification-03.json | 364 +++ .../v2-qualification-04.json | 292 ++ .../v2-qualification-05.json | 226 ++ .../v2-qualification-06.json | 133 + .../workflow-review.json | 61 + 43 files changed, 6640 insertions(+), 1009 deletions(-) create mode 100644 frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md create mode 100644 frontiers/cap_first_exit_lean_20261002/compiled_inventory.py create mode 100644 frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py create mode 100644 frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_process_retention.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_source_admission.py create mode 100644 frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py create mode 100644 reviews/cap_compiled_admission_cbz_20261030/DECISIONS.md create mode 100644 reviews/cap_compiled_admission_cbz_20261030/EVIDENCE_INDEX.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/FROZEN_SOURCE_V2.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/QUALIFICATION_V2.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/README.md create mode 100644 reviews/cap_compiled_admission_cbz_20261030/actual-discovery-v2.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/baseline-source-red.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/fixture-phase-diagnosis.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-01.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-02.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-03.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-04.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-05.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/historical-attempts-01.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/historical-attempts-02.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/historical-attempts-03.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/historical-attempts-04.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/historical-attempts-05.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/independent-review.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/relative-cli-red.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/root-review.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-01.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-02.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-03.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-04.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-05.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/v2-qualification-06.json create mode 100644 reviews/cap_compiled_admission_cbz_20261030/workflow-review.json diff --git a/.github/workflows/cap-first-exit-lean.yml b/.github/workflows/cap-first-exit-lean.yml index 8b0b37561..2a05aad74 100644 --- a/.github/workflows/cap-first-exit-lean.yml +++ b/.github/workflows/cap-first-exit-lean.yml @@ -22,7 +22,7 @@ permissions: jobs: kernel-evidence: runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 60 env: LEAN_NUM_THREADS: 2 PYTHONDONTWRITEBYTECODE: '1' @@ -50,6 +50,15 @@ jobs: lint: 'false' use-mathlib-cache: 'true' use-github-cache: 'false' + - name: Auditor self-test with actual pinned Lean (both Python modes) + working-directory: frontiers/cap_first_exit_lean_20261002 + run: | + set -euo pipefail + LEAN_EXECUTABLE="$(lake env which lean)" + test -n "$LEAN_EXECUTABLE" + test -x "$LEAN_EXECUTABLE" + test ! -e .lake/auditor-selftest + python -B -S run_cbz_mutations.py --lean "$LEAN_EXECUTABLE" --output .lake/auditor-selftest - name: Fresh build, leanchecker replay, axiom audit, negative controls run: python -B -S frontiers/cap_first_exit_lean_20261002/gate.py --execute - name: Tracked tree unchanged @@ -59,7 +68,9 @@ jobs: uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 with: name: cap-first-exit-lean-${{ github.run_id }}-${{ github.run_attempt }} - path: frontiers/cap_first_exit_lean_20261002/.lake/evidence/ + path: | + frontiers/cap_first_exit_lean_20261002/.lake/evidence/ + frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/ include-hidden-files: true if-no-files-found: error retention-days: 90 diff --git a/frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md b/frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md new file mode 100644 index 000000000..0aa3dd37a --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md @@ -0,0 +1,47 @@ +# Cap compiled admission + +This repair closes a specific auditor coverage gap. It preserves the original152 visible declarations—138theorems,13definitions and one structure—and all their mathematical hypotheses, proof bytes, bounds and imported source pins. It does not identify these conditional statements with a global elder-pairing/persistence theorem, prove their premises satisfiable in a particular model, or grant scientific acceptance. + +The legacy source gate admitted a digest-rebound unlisted private theorem. The observed reproduction, on unchanged Math9f8dbb4 source, ran two tests in each Python mode: the exact-bound baseline passed; the desired rejection assertion failed because the actual source_check accepted the extra theorem. No Lean run was claimed by that reproduction. The repair adds a source precheck and complete compiled admission; the source precheck alone is not the proof of compiled coverage. + +## Verification commands + +Run from `frontiers/cap_first_exit_lean_20261002/` with the documented Python runtime and verified Lean4.34.1 release5045d0056413266e57c625dcd7c365b10e377c52 on PATH. Lake manifests pin Mathlibd13f23b723b8a846827a245b89c10fc7d3f11612 and all eight transitive revisions. Keep dependencies at those exact commits and clean before/after execution. + +```sh +python3 -B -S -m unittest discover -s . -p 'test_*.py' -v +python3 -B -O -S -m unittest discover -s . -p 'test_*.py' -v +python3 -B -S run_cbz_mutations.py --lean /verified/lean-4.34.1/bin/lean --output /new/external/mutation-report +python3 -B -S gate.py +LEAN_NUM_THREADS=2 python3 -B -S gate.py --execute +``` + +Source-only output certifies only its byte/pin/visible-source inventory checks. Actual execution performs a fresh package build, kernel recheck, the retained152-target axiom audit and all-constant compiled module census/axiom closure, a copied unchanged baseline, four real compiled package mutations, and the three retained axiom rejection controls. Only the three declared imported axioms are allowed. Logs retain actual stdout, stderr, exits, generated program hash, injected source hashes and full encoded declaration identities. A failing or unqualified execution cannot supply a new kernel receipt. Consumers must match its exact source identity and actual process outcome; a caller-supplied or historical receipt is not current execution evidence. Prior execution evidence is archived under `.lake/evidence-history/`. + +## Why a compiled census + +Lean itself enumerates the owned module table, including unused/private/generated constants. Complete module counts and exact fixed support bindings prevent a manifest target list from silently narrowing the audit. Type/value dependencies of every owned constant contribute to the union axiom closure. Owned axioms, unsafe/partial declarations, unsupported owned opaque/quot declarations and unbound, duplicated or count-mismatched IR/codegen extras refuse. All eight actual IR names have separate exact bindings and are not treated as additional logical theorems. Missing references refuse. + +Lean names use canonical UTF8-hex/string and decimal/numeric components. Unicode subscripts, private numeric components and quoted string components therefore retain their identities. Rendered names are display only. + +Structure-generated proof projections need a narrow exception: pinned Lean marks Prop-valued projections as theorem/user because generated fields carry source ranges. The exporter obtains their names from actual StructureInfo metadata for the visible CapHyp inductive. Exact observed support bindings and those structural relations are required. Prefixes, a source range, a compiler-shaped name or an entry newly added to the manifest are not sufficient admission. Other extra user theorems and unrecognized user definitions refuse. + +## Tool verification and limits + +The finite Python tests use synthetic transcripts explicitly. They test parser/policy behavior and source admission, not the actual compiled inventory. Named source mutations must reach their designated assertion, with positive baseline and collected count; import/syntax/process/foreign-test failures are not kills. A separate actual pinned-Lean fixture proves that an unsafe opaque constant is exported as unsafe, and detects removal of the exporter guard in both Python modes. No Python assert is relied upon for optimized-mode checking. + +Production support bindings must come from actual pinned compilation and module-table export, inspected against exact source/runtime identities. Normal gate execution compares against the fixed binding; it never writes its own allowlist. A supplied transcript or consistency JSON does not authenticate an execution. Mathematical evidence remains actual source-bound build/recheck/audit/control output. + +Maintenance owner: none—component-local, self-contained. Serves the bounded A2/A8 compiled admission obligation and G0/G2/G3/G4/G6/G11 within this packet. It is not a federation-wide Layer A auditor or CBZ-0 qualification. Changed source/runtime/dependencies require new verification. + +## Actual source-bound discovery cut + +The unchanged326607-byte Cap proof has SHA256 `040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0` at Math commit `9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966`. Actual discovery compilation/export observed206 owned kernel constants:152 visible declarations plus54 support records, and8 separately bound IR/codegen names. The transitive axiom collector visited47659 names and reported only the declared three axioms. Five generated Prop projections account for143 user/theorem-kind constants despite only138 visible theorem statements. Three actual Abel tactic auxiliaries have the explicit `_abel_N_M` suffix and still require exact bindings and a real parent. + +The retained default `leanchecker CapFirstExit` successfully rechecked the target module against its imported environment. This is not a fresh empty-kernel replay of Mathlib or an external verifier. An accidental all-import `--fresh` experiment and unsupported `--help` probe were interrupted and receive no passing credit. Actual final repaired-gate qualification belongs only to its newly observed receipt and raw streams; the discovery cut does not claim it. + +The finite auditor mutation threshold is all12 named mutations in each Python mode:11 Python policy guards and one actually compiled unsafe-opaque exporter guard. The runner requires the designated method, one collected test, one failure, no errors, the exact removed-guard `ValueError not raised` assertion or explicit actual safety marker, and no timeout. Generic same-method failures do not kill mutants. Prior22-mutation development observations precede the final codegen/name/process repairs and cannot qualify later bytes. + +Normal gate execution performs at most two independent compiled controls concurrently, each with two Lean threads. Each full-source mutation uses the successful Lake-generated compiler setup, private object/interface/C outputs, readonly pinned dependency artifacts, owned default kernel replay, all152 original target axiom reports and actual complete census. Receipts bind exact setup and output-object hashes before/after audit, mutated source hashes and full injected identities. The copied positive baseline must reproduce the real census. Private theorem, private sorry theorem, unused sorry definition and range-less compiler-shaped theorem must each reject for exactly their own findings. + +The commands support relative CLI output paths by resolving output/runtime paths before child working-directory changes. The workflow-equivalent `--output .lake/auditor-selftest` is a required positive integration route. Timeout cleanup owns the launched process group, retains partial stdout/stderr/exit/timed_out metadata and refuses even a SIGTERM handler that exits0. diff --git a/frontiers/cap_first_exit_lean_20261002/MANIFEST.json b/frontiers/cap_first_exit_lean_20261002/MANIFEST.json index 5252de50e..ca35fdf19 100644 --- a/frontiers/cap_first_exit_lean_20261002/MANIFEST.json +++ b/frontiers/cap_first_exit_lean_20261002/MANIFEST.json @@ -1,998 +1,1677 @@ { - "object": "CAP-FIRST-EXIT-LEAN-20261002-v1", - "scientific_effect": "NONE", - "mathematical_acceptance": false, - "alignment_review": "NOT_CLAIMED", - "module": "CapFirstExit", - "toolchain": "leanprover/lean4:v4.34.1", - "mathlib_rev": "d13f23b723b8a846827a245b89c10fc7d3f11612", - "dependency_revisions": { - "plausible": "118aa17ee84656b8bd727fef7c458ee8c833385c", - "LeanSearchClient": "ddf04cf3949fa556442341e87d47f9f6e6074707", - "importGraph": "e928b72544873815af278d38681b31c0293588e3", - "proofwidgets": "106ff4fafc74ef4ac99d81dbf3ab399118f497a5", - "aesop": "355695d523e41d0554926416cba2a2b3544fbbc9", - "Qq": "6a489d9af5d0c47e5b259e2e8bcdfc1811b5a259", - "batteries": "f2effa3d803fda822b1f97b806c47cf2adfbcbc2", - "Cli": "e92c9f15fdfacc8536f31cfb3b7ad26c3c8cd204", - "mathlib": "d13f23b723b8a846827a245b89c10fc7d3f11612" - }, - "pins_on_main": [ - { - "path": "reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md", - "git_blob": "a653dbc7bd8bd692433587f050ab8678713c297e" + "object": "CAP-FIRST-EXIT-LEAN-20261002-v1", + "scientific_effect": "NONE", + "mathematical_acceptance": false, + "alignment_review": "NOT_CLAIMED", + "module": "CapFirstExit", + "toolchain": "leanprover/lean4:v4.34.1", + "mathlib_rev": "d13f23b723b8a846827a245b89c10fc7d3f11612", + "dependency_revisions": { + "plausible": "118aa17ee84656b8bd727fef7c458ee8c833385c", + "LeanSearchClient": "ddf04cf3949fa556442341e87d47f9f6e6074707", + "importGraph": "e928b72544873815af278d38681b31c0293588e3", + "proofwidgets": "106ff4fafc74ef4ac99d81dbf3ab399118f497a5", + "aesop": "355695d523e41d0554926416cba2a2b3544fbbc9", + "Qq": "6a489d9af5d0c47e5b259e2e8bcdfc1811b5a259", + "batteries": "f2effa3d803fda822b1f97b806c47cf2adfbcbc2", + "Cli": "e92c9f15fdfacc8536f31cfb3b7ad26c3c8cd204", + "mathlib": "d13f23b723b8a846827a245b89c10fc7d3f11612" }, - { - "path": "imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md", - "git_blob": "0633aca3c2a2882b0de4399da0a75d64c2e6b2e1" - } - ], - "allowed_axioms": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "targets": [ - "CapFirstExit.path_meets_frontier", - "CapFirstExit.preconnected_subset_of_frontier_disjoint", - "CapFirstExit.CapHyp", - "CapFirstExit.CapHyp.s_le_f_M", - "CapFirstExit.CapHyp.barrier", - "CapFirstExit.connectionLevels", - "CapFirstExit.CapHyp.maximin_isGreatest", - "CapFirstExit.CapHyp.maximin_eq", - "CapFirstExit.CapHyp.component_separated", - "CapFirstExit.component_joined", - "CapFirstExit.CapHyp.elder_merge_iff_closed", - "CapFirstExit.CapHyp.elder_merge_iff_open", - "CapFirstExit.CapHyp.joinedLevels", - "CapFirstExit.CapHyp.elder_death_level", - "CapFirstExit.CapHyp.path_through_saddle", - "CapFirstExit.CapHyp.saddle_cut", - "CapFirstExit.CapHyp.congr", - "CapFirstExit.isClosed_connectedComponentIn", - "CapFirstExit.CapHyp.older_peak", - "CapFirstExit.CapHyp.elder_alive", - "CapFirstExit.CapHyp.olderPeakLevels", - "CapFirstExit.CapHyp.elder_death_level_peak", - "CapFirstExit.frontier_image_subset", - "CapFirstExit.CapHyp.map", - "CapFirstExit.CapHyp.map_saddle", - "CapFirstExit.frontier_cylinder", - "CapFirstExit.isCompact_cylinder", - "CapFirstExit.torusCover", - "CapFirstExit.torusCover_continuous", - "CapFirstExit.torusCover_isOpenMap", - "CapFirstExit.CapHyp.toTorus", - "CapFirstExit.convex_zeros_between", - "CapFirstExit.convex_zeros_right", - "CapFirstExit.convex_zeros_left", - "CapFirstExit.ridge_profile", - "CapFirstExit.ridge_capHyp", - "CapFirstExit.ridge_saddle_strict", - "CapFirstExit.strongConcave_le_of_hasFDerivAt", - "CapFirstExit.slice_le", - "CapFirstExit.slice_ridge_bound", - "CapFirstExit.slice_curved", - "CapFirstExit.slice_hasFDerivAt", - "CapFirstExit.ridge_hasDerivAt", - "CapFirstExit.ridge_capHyp_of_slices", - "CapFirstExit.ridge_inputs_of_joint", - "CapFirstExit.sp_curved_side_constants", - "CapFirstExit.convexOn_add_node", - "CapFirstExit.two_node_bound", - "CapFirstExit.slice_gradient_bound", - "CapFirstExit.ridge_capHyp_sp", - "CapFirstExit.hermite_gap_le", - "CapFirstExit.hermite_m_ge_two", - "CapFirstExit.ridge_capHyp_normalized", - "CapFirstExit.strongConcaveOn_of_hessian", - "CapFirstExit.transverse_hessian_le", - "CapFirstExit.hessian_increment", - "CapFirstExit.slices_strongConcave", - "CapFirstExit.ridge_capHyp_H1", - "CapFirstExit.slice_critical_unique", - "CapFirstExit.slice_critical_exists", - "CapFirstExit.isInvertible_of_negDef", - "CapFirstExit.ridge_hasStrictFDerivAt", - "CapFirstExit.ridge_differentiable", - "CapFirstExit.ridge_exists", - "CapFirstExit.hessian_increment_D", - "CapFirstExit.transverse_hessian_le_D", - "CapFirstExit.slices_strongConcave_D", - "CapFirstExit.ridge_capHyp_source", - "CapFirstExit.convex_deriv_sign", - "CapFirstExit.two_node_deriv_bound", - "CapFirstExit.slice_gradient_deriv_bound", - "CapFirstExit.schur_max", - "CapFirstExit.trilinear_lower", - "CapFirstExit.l12_constants", - "CapFirstExit.transverse_hessian_eq", - "CapFirstExit.ridge_second_identity", - "CapFirstExit.ridge_hconv", - "CapFirstExit.dx_grad_increment", - "CapFirstExit.l9_arith", - "CapFirstExit.l12_lower", - "CapFirstExit.ridge_source_facts", - "CapFirstExit.ridge_capHyp_C3", - "CapFirstExit.hermite_gap_le_concave", - "CapFirstExit.third_deriv_exists_two", - "CapFirstExit.fxxx_lower", - "CapFirstExit.ridge_capHyp_C4", - "CapFirstExit.hessian_x_bound", - "CapFirstExit.hessian_r_bound", - "CapFirstExit.axis_convexConcave", - "CapFirstExit.block_nonneg", - "CapFirstExit.block_bound_collar", - "CapFirstExit.ridge_capHyp_C5", - "CapFirstExit.ridge_capHyp_D", - "CapFirstExit.block_of_norm", - "CapFirstExit.collar_subset_open", - "CapFirstExit.ridge_capHyp_E", - "CapFirstExit.toyF", - "CapFirstExit.toyRidge", - "CapFirstExit.toy_ridge_ge", - "CapFirstExit.toy_frontier", - "CapFirstExit.toy_capHyp", - "CapFirstExit.toy_saddle_strict", - "CapFirstExit.toy_saddle_cut", - "CapFirstExit.toy_death_level", - "CapFirstExit.toy_f_M", - "CapFirstExit.toy_f_S", - "CapFirstExit.toy_needs_C2", - "CapFirstExit.toy_needs_C1", - "CapFirstExit.toy_needs_C3", - "CapFirstExit.ridgeToyF", - "CapFirstExit.ridgeToy_capHyp", - "CapFirstExit.ridgeToy_saddle_strict", - "CapFirstExit.ridgeToy_joint", - "CapFirstExit.ridgeToy_slices", - "CapFirstExit.spToyF", - "CapFirstExit.spToy_capHyp", - "CapFirstExit.spToy_normalized", - "CapFirstExit.h1ToyF", - "CapFirstExit.h1Toy_capHyp", - "CapFirstExit.h1Toy_ridge_differentiable", - "CapFirstExit.h1Toy_source", - "CapFirstExit.h1Toy_C3", - "CapFirstExit.h1Toy_C4", - "CapFirstExit.h1Toy_D", - "CapFirstExit.h1Toy_E", - "CapFirstExit.quarticToyF", - "CapFirstExit.quarticToy_E", - "CapFirstExit.CapHyp.of_const_mul", - "CapFirstExit.hasFDerivAt_zero_const_mul_iff", - "CapFirstExit.iteratedFDeriv_const_mul_of_isOpen", - "CapFirstExit.ridge_capHyp_K", - "CapFirstExit.ridge_capHyp_norm_K", - "CapFirstExit.iteratedFDeriv_three_swap\u2081\u2082", - "CapFirstExit.iteratedFDeriv_three_swap\u2082\u2083", - "CapFirstExit.block_of_partial", - "CapFirstExit.ridge_capHyp_blocks", - "CapFirstExit.mixedToyF", - "CapFirstExit.mixedToy_blocks", - "CapFirstExit.addCircle_locallyConnectedSpace", - "CapFirstExit.torus_locallyConnectedSpace", - "CapFirstExit.torus_capHyp_blocks", - "CapFirstExit.torus_elder_death_level_blocks", - "CapFirstExit.circleChart", - "CapFirstExit.circleChart_continuous", - "CapFirstExit.circleChart_coe", - "CapFirstExit.mixedToy_hasFDerivAt", - "CapFirstExit.mixedToy_contDiff", - "CapFirstExit.mixedToy_iteratedFDeriv_two", - "CapFirstExit.mixedToy_iteratedFDeriv_three", - "CapFirstExit.mixedToy_iteratedFDeriv_four", - "CapFirstExit.torusToyF", - "CapFirstExit.torusToy_elder" - ], - "expected_axioms": { - "CapFirstExit.path_meets_frontier": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.preconnected_subset_of_frontier_disjoint": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.s_le_f_M": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.barrier": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.connectionLevels": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.maximin_isGreatest": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.maximin_eq": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.component_separated": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.component_joined": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.elder_merge_iff_closed": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.elder_merge_iff_open": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.joinedLevels": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.elder_death_level": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.path_through_saddle": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.saddle_cut": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.congr": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.isClosed_connectedComponentIn": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.older_peak": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.elder_alive": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.olderPeakLevels": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.elder_death_level_peak": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.frontier_image_subset": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.map": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.map_saddle": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.frontier_cylinder": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.isCompact_cylinder": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torusCover": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torusCover_continuous": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torusCover_isOpenMap": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.toTorus": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.convex_zeros_between": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.convex_zeros_right": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.convex_zeros_left": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_profile": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_saddle_strict": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.strongConcave_le_of_hasFDerivAt": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_le": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_ridge_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_curved": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_hasFDerivAt": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_hasDerivAt": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_of_slices": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_inputs_of_joint": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.sp_curved_side_constants": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.convexOn_add_node": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.two_node_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_gradient_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_sp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hermite_gap_le": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hermite_m_ge_two": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_normalized": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.strongConcaveOn_of_hessian": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.transverse_hessian_le": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hessian_increment": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slices_strongConcave": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_H1": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_critical_unique": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_critical_exists": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.isInvertible_of_negDef": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_hasStrictFDerivAt": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_differentiable": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_exists": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hessian_increment_D": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.transverse_hessian_le_D": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slices_strongConcave_D": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_source": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.convex_deriv_sign": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.two_node_deriv_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.slice_gradient_deriv_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.schur_max": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.trilinear_lower": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.l12_constants": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.transverse_hessian_eq": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_second_identity": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_hconv": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.dx_grad_increment": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.l9_arith": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.l12_lower": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_source_facts": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_C3": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hermite_gap_le_concave": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.third_deriv_exists_two": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.fxxx_lower": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_C4": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hessian_x_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hessian_r_bound": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.axis_convexConcave": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.block_nonneg": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.block_bound_collar": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_C5": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_D": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.block_of_norm": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.collar_subset_open": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_E": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toyRidge": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_ridge_ge": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_frontier": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_capHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_saddle_strict": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_saddle_cut": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_death_level": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_f_M": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_f_S": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_needs_C2": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_needs_C1": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.toy_needs_C3": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridgeToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridgeToy_capHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridgeToy_saddle_strict": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridgeToy_joint": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridgeToy_slices": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.spToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.spToy_capHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.spToy_normalized": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1ToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_capHyp": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_ridge_differentiable": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_source": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_C3": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_C4": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_D": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.h1Toy_E": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.quarticToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.quarticToy_E": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.CapHyp.of_const_mul": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.hasFDerivAt_zero_const_mul_iff": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.iteratedFDeriv_const_mul_of_isOpen": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_K": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_norm_K": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.iteratedFDeriv_three_swap\u2081\u2082": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.iteratedFDeriv_three_swap\u2082\u2083": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.block_of_partial": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.ridge_capHyp_blocks": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_blocks": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.addCircle_locallyConnectedSpace": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torus_locallyConnectedSpace": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torus_capHyp_blocks": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torus_elder_death_level_blocks": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.circleChart": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.circleChart_continuous": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.circleChart_coe": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_hasFDerivAt": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_contDiff": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_iteratedFDeriv_two": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_iteratedFDeriv_three": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.mixedToy_iteratedFDeriv_four": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torusToyF": [ - "Classical.choice", - "Quot.sound", - "propext" - ], - "CapFirstExit.torusToy_elder": [ - "Classical.choice", - "Quot.sound", - "propext" - ] - }, - "files": [ - { - "path": ".gitignore", - "bytes": 20, - "sha256": "b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374" - }, - { - "path": "ALIGNMENT.md", - "bytes": 57035, - "sha256": "91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21" - }, - { - "path": "CapFirstExit.lean", - "bytes": 326607, - "sha256": "040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0" - }, - { - "path": "README.md", - "bytes": 31519, - "sha256": "7eb062ebd12cb181bab71d00fbc3f86d9b8b515222ec5cedf01d50246d0e644a" - }, - { - "path": "gate.py", - "bytes": 15645, - "sha256": "5b94d6d0d9bccb1cef009bc17a32cfc66999f4d286c7784435d60dd429a70bb6" - }, - { - "path": "lake-manifest.json", - "bytes": 3547, - "sha256": "04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b" - }, - { - "path": "lakefile.toml", - "bytes": 252, - "sha256": "3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52" + "pins_on_main": [ + { + "path": "reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md", + "git_blob": "a653dbc7bd8bd692433587f050ab8678713c297e" + }, + { + "path": "imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md", + "git_blob": "0633aca3c2a2882b0de4399da0a75d64c2e6b2e1" + } + ], + "allowed_axioms": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "targets": [ + "CapFirstExit.path_meets_frontier", + "CapFirstExit.preconnected_subset_of_frontier_disjoint", + "CapFirstExit.CapHyp", + "CapFirstExit.CapHyp.s_le_f_M", + "CapFirstExit.CapHyp.barrier", + "CapFirstExit.connectionLevels", + "CapFirstExit.CapHyp.maximin_isGreatest", + "CapFirstExit.CapHyp.maximin_eq", + "CapFirstExit.CapHyp.component_separated", + "CapFirstExit.component_joined", + "CapFirstExit.CapHyp.elder_merge_iff_closed", + "CapFirstExit.CapHyp.elder_merge_iff_open", + "CapFirstExit.CapHyp.joinedLevels", + "CapFirstExit.CapHyp.elder_death_level", + "CapFirstExit.CapHyp.path_through_saddle", + "CapFirstExit.CapHyp.saddle_cut", + "CapFirstExit.CapHyp.congr", + "CapFirstExit.isClosed_connectedComponentIn", + "CapFirstExit.CapHyp.older_peak", + "CapFirstExit.CapHyp.elder_alive", + "CapFirstExit.CapHyp.olderPeakLevels", + "CapFirstExit.CapHyp.elder_death_level_peak", + "CapFirstExit.frontier_image_subset", + "CapFirstExit.CapHyp.map", + "CapFirstExit.CapHyp.map_saddle", + "CapFirstExit.frontier_cylinder", + "CapFirstExit.isCompact_cylinder", + "CapFirstExit.torusCover", + "CapFirstExit.torusCover_continuous", + "CapFirstExit.torusCover_isOpenMap", + "CapFirstExit.CapHyp.toTorus", + "CapFirstExit.convex_zeros_between", + "CapFirstExit.convex_zeros_right", + "CapFirstExit.convex_zeros_left", + "CapFirstExit.ridge_profile", + "CapFirstExit.ridge_capHyp", + "CapFirstExit.ridge_saddle_strict", + "CapFirstExit.strongConcave_le_of_hasFDerivAt", + "CapFirstExit.slice_le", + "CapFirstExit.slice_ridge_bound", + "CapFirstExit.slice_curved", + "CapFirstExit.slice_hasFDerivAt", + "CapFirstExit.ridge_hasDerivAt", + "CapFirstExit.ridge_capHyp_of_slices", + "CapFirstExit.ridge_inputs_of_joint", + "CapFirstExit.sp_curved_side_constants", + "CapFirstExit.convexOn_add_node", + "CapFirstExit.two_node_bound", + "CapFirstExit.slice_gradient_bound", + "CapFirstExit.ridge_capHyp_sp", + "CapFirstExit.hermite_gap_le", + "CapFirstExit.hermite_m_ge_two", + "CapFirstExit.ridge_capHyp_normalized", + "CapFirstExit.strongConcaveOn_of_hessian", + "CapFirstExit.transverse_hessian_le", + "CapFirstExit.hessian_increment", + "CapFirstExit.slices_strongConcave", + "CapFirstExit.ridge_capHyp_H1", + "CapFirstExit.slice_critical_unique", + "CapFirstExit.slice_critical_exists", + "CapFirstExit.isInvertible_of_negDef", + "CapFirstExit.ridge_hasStrictFDerivAt", + "CapFirstExit.ridge_differentiable", + "CapFirstExit.ridge_exists", + "CapFirstExit.hessian_increment_D", + "CapFirstExit.transverse_hessian_le_D", + "CapFirstExit.slices_strongConcave_D", + "CapFirstExit.ridge_capHyp_source", + "CapFirstExit.convex_deriv_sign", + "CapFirstExit.two_node_deriv_bound", + "CapFirstExit.slice_gradient_deriv_bound", + "CapFirstExit.schur_max", + "CapFirstExit.trilinear_lower", + "CapFirstExit.l12_constants", + "CapFirstExit.transverse_hessian_eq", + "CapFirstExit.ridge_second_identity", + "CapFirstExit.ridge_hconv", + "CapFirstExit.dx_grad_increment", + "CapFirstExit.l9_arith", + "CapFirstExit.l12_lower", + "CapFirstExit.ridge_source_facts", + "CapFirstExit.ridge_capHyp_C3", + "CapFirstExit.hermite_gap_le_concave", + "CapFirstExit.third_deriv_exists_two", + "CapFirstExit.fxxx_lower", + "CapFirstExit.ridge_capHyp_C4", + "CapFirstExit.hessian_x_bound", + "CapFirstExit.hessian_r_bound", + "CapFirstExit.axis_convexConcave", + "CapFirstExit.block_nonneg", + "CapFirstExit.block_bound_collar", + "CapFirstExit.ridge_capHyp_C5", + "CapFirstExit.ridge_capHyp_D", + "CapFirstExit.block_of_norm", + "CapFirstExit.collar_subset_open", + "CapFirstExit.ridge_capHyp_E", + "CapFirstExit.toyF", + "CapFirstExit.toyRidge", + "CapFirstExit.toy_ridge_ge", + "CapFirstExit.toy_frontier", + "CapFirstExit.toy_capHyp", + "CapFirstExit.toy_saddle_strict", + "CapFirstExit.toy_saddle_cut", + "CapFirstExit.toy_death_level", + "CapFirstExit.toy_f_M", + "CapFirstExit.toy_f_S", + "CapFirstExit.toy_needs_C2", + "CapFirstExit.toy_needs_C1", + "CapFirstExit.toy_needs_C3", + "CapFirstExit.ridgeToyF", + "CapFirstExit.ridgeToy_capHyp", + "CapFirstExit.ridgeToy_saddle_strict", + "CapFirstExit.ridgeToy_joint", + "CapFirstExit.ridgeToy_slices", + "CapFirstExit.spToyF", + "CapFirstExit.spToy_capHyp", + "CapFirstExit.spToy_normalized", + "CapFirstExit.h1ToyF", + "CapFirstExit.h1Toy_capHyp", + "CapFirstExit.h1Toy_ridge_differentiable", + "CapFirstExit.h1Toy_source", + "CapFirstExit.h1Toy_C3", + "CapFirstExit.h1Toy_C4", + "CapFirstExit.h1Toy_D", + "CapFirstExit.h1Toy_E", + "CapFirstExit.quarticToyF", + "CapFirstExit.quarticToy_E", + "CapFirstExit.CapHyp.of_const_mul", + "CapFirstExit.hasFDerivAt_zero_const_mul_iff", + "CapFirstExit.iteratedFDeriv_const_mul_of_isOpen", + "CapFirstExit.ridge_capHyp_K", + "CapFirstExit.ridge_capHyp_norm_K", + "CapFirstExit.iteratedFDeriv_three_swap\u2081\u2082", + "CapFirstExit.iteratedFDeriv_three_swap\u2082\u2083", + "CapFirstExit.block_of_partial", + "CapFirstExit.ridge_capHyp_blocks", + "CapFirstExit.mixedToyF", + "CapFirstExit.mixedToy_blocks", + "CapFirstExit.addCircle_locallyConnectedSpace", + "CapFirstExit.torus_locallyConnectedSpace", + "CapFirstExit.torus_capHyp_blocks", + "CapFirstExit.torus_elder_death_level_blocks", + "CapFirstExit.circleChart", + "CapFirstExit.circleChart_continuous", + "CapFirstExit.circleChart_coe", + "CapFirstExit.mixedToy_hasFDerivAt", + "CapFirstExit.mixedToy_contDiff", + "CapFirstExit.mixedToy_iteratedFDeriv_two", + "CapFirstExit.mixedToy_iteratedFDeriv_three", + "CapFirstExit.mixedToy_iteratedFDeriv_four", + "CapFirstExit.torusToyF", + "CapFirstExit.torusToy_elder" + ], + "expected_axioms": { + "CapFirstExit.path_meets_frontier": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.preconnected_subset_of_frontier_disjoint": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.s_le_f_M": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.barrier": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.connectionLevels": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.maximin_isGreatest": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.maximin_eq": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.component_separated": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.component_joined": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.elder_merge_iff_closed": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.elder_merge_iff_open": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.joinedLevels": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.elder_death_level": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.path_through_saddle": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.saddle_cut": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.congr": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.isClosed_connectedComponentIn": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.older_peak": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.elder_alive": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.olderPeakLevels": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.elder_death_level_peak": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.frontier_image_subset": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.map": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.map_saddle": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.frontier_cylinder": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.isCompact_cylinder": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torusCover": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torusCover_continuous": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torusCover_isOpenMap": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.toTorus": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.convex_zeros_between": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.convex_zeros_right": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.convex_zeros_left": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_profile": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_saddle_strict": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.strongConcave_le_of_hasFDerivAt": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_le": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_ridge_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_curved": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_hasFDerivAt": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_hasDerivAt": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_of_slices": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_inputs_of_joint": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.sp_curved_side_constants": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.convexOn_add_node": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.two_node_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_gradient_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_sp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hermite_gap_le": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hermite_m_ge_two": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_normalized": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.strongConcaveOn_of_hessian": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.transverse_hessian_le": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hessian_increment": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slices_strongConcave": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_H1": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_critical_unique": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_critical_exists": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.isInvertible_of_negDef": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_hasStrictFDerivAt": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_differentiable": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_exists": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hessian_increment_D": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.transverse_hessian_le_D": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slices_strongConcave_D": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_source": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.convex_deriv_sign": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.two_node_deriv_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.slice_gradient_deriv_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.schur_max": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.trilinear_lower": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.l12_constants": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.transverse_hessian_eq": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_second_identity": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_hconv": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.dx_grad_increment": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.l9_arith": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.l12_lower": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_source_facts": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_C3": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hermite_gap_le_concave": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.third_deriv_exists_two": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.fxxx_lower": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_C4": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hessian_x_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hessian_r_bound": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.axis_convexConcave": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.block_nonneg": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.block_bound_collar": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_C5": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_D": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.block_of_norm": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.collar_subset_open": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_E": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toyRidge": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_ridge_ge": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_frontier": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_capHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_saddle_strict": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_saddle_cut": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_death_level": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_f_M": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_f_S": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_needs_C2": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_needs_C1": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.toy_needs_C3": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridgeToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridgeToy_capHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridgeToy_saddle_strict": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridgeToy_joint": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridgeToy_slices": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.spToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.spToy_capHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.spToy_normalized": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1ToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_capHyp": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_ridge_differentiable": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_source": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_C3": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_C4": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_D": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.h1Toy_E": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.quarticToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.quarticToy_E": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.CapHyp.of_const_mul": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.hasFDerivAt_zero_const_mul_iff": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.iteratedFDeriv_const_mul_of_isOpen": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_K": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_norm_K": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.iteratedFDeriv_three_swap\u2081\u2082": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.iteratedFDeriv_three_swap\u2082\u2083": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.block_of_partial": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.ridge_capHyp_blocks": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_blocks": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.addCircle_locallyConnectedSpace": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torus_locallyConnectedSpace": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torus_capHyp_blocks": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torus_elder_death_level_blocks": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.circleChart": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.circleChart_continuous": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.circleChart_coe": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_hasFDerivAt": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_contDiff": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_iteratedFDeriv_two": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_iteratedFDeriv_three": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.mixedToy_iteratedFDeriv_four": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torusToyF": [ + "Classical.choice", + "Quot.sound", + "propext" + ], + "CapFirstExit.torusToy_elder": [ + "Classical.choice", + "Quot.sound", + "propext" + ] }, - { - "path": "lean-toolchain", - "bytes": 25, - "sha256": "d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b" + "files": [ + { + "path": ".gitignore", + "bytes": 20, + "sha256": "b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374" + }, + { + "path": "ALIGNMENT.md", + "bytes": 57035, + "sha256": "91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21" + }, + { + "path": "CBZ_ADMISSION.md", + "bytes": 7853, + "sha256": "11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2" + }, + { + "path": "CapFirstExit.lean", + "bytes": 326607, + "sha256": "040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0" + }, + { + "path": "README.md", + "bytes": 32478, + "sha256": "049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57" + }, + { + "path": "compiled_inventory.py", + "bytes": 15043, + "sha256": "e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b" + }, + { + "path": "gate.py", + "bytes": 28665, + "sha256": "16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e" + }, + { + "path": "lake-manifest.json", + "bytes": 3547, + "sha256": "04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b" + }, + { + "path": "lakefile.toml", + "bytes": 252, + "sha256": "3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52" + }, + { + "path": "lean-toolchain", + "bytes": 25, + "sha256": "d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b" + }, + { + "path": "lean_opaque_control.py", + "bytes": 3607, + "sha256": "41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba" + }, + { + "path": "run_cbz_mutations.py", + "bytes": 7658, + "sha256": "65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed" + }, + { + "path": "test_compiled_inventory.py", + "bytes": 12680, + "sha256": "c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810" + }, + { + "path": "test_gate.py", + "bytes": 22903, + "sha256": "1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9" + }, + { + "path": "test_mutation_accounting.py", + "bytes": 3399, + "sha256": "1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef" + }, + { + "path": "test_process_retention.py", + "bytes": 7430, + "sha256": "6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217" + }, + { + "path": "test_runtime_boundary.py", + "bytes": 2270, + "sha256": "097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea" + }, + { + "path": "test_source_admission.py", + "bytes": 2852, + "sha256": "514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7" + }, + { + "path": "test_timeout_exit_zero.py", + "bytes": 2035, + "sha256": "b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f" + } + ], + "compiled_inventory_schema": "cap-name-components-v1", + "compiled_visible_kinds": { + "CapFirstExit.path_meets_frontier": "theorem", + "CapFirstExit.preconnected_subset_of_frontier_disjoint": "theorem", + "CapFirstExit.CapHyp": "inductive", + "CapFirstExit.CapHyp.s_le_f_M": "theorem", + "CapFirstExit.CapHyp.barrier": "theorem", + "CapFirstExit.connectionLevels": "def", + "CapFirstExit.CapHyp.maximin_isGreatest": "theorem", + "CapFirstExit.CapHyp.maximin_eq": "theorem", + "CapFirstExit.CapHyp.component_separated": "theorem", + "CapFirstExit.component_joined": "theorem", + "CapFirstExit.CapHyp.elder_merge_iff_closed": "theorem", + "CapFirstExit.CapHyp.elder_merge_iff_open": "theorem", + "CapFirstExit.CapHyp.joinedLevels": "def", + "CapFirstExit.CapHyp.elder_death_level": "theorem", + "CapFirstExit.CapHyp.path_through_saddle": "theorem", + "CapFirstExit.CapHyp.saddle_cut": "theorem", + "CapFirstExit.CapHyp.congr": "theorem", + "CapFirstExit.isClosed_connectedComponentIn": "theorem", + "CapFirstExit.CapHyp.older_peak": "theorem", + "CapFirstExit.CapHyp.elder_alive": "theorem", + "CapFirstExit.CapHyp.olderPeakLevels": "def", + "CapFirstExit.CapHyp.elder_death_level_peak": "theorem", + "CapFirstExit.frontier_image_subset": "theorem", + "CapFirstExit.CapHyp.map": "theorem", + "CapFirstExit.CapHyp.map_saddle": "theorem", + "CapFirstExit.frontier_cylinder": "theorem", + "CapFirstExit.isCompact_cylinder": "theorem", + "CapFirstExit.torusCover": "def", + "CapFirstExit.torusCover_continuous": "theorem", + "CapFirstExit.torusCover_isOpenMap": "theorem", + "CapFirstExit.CapHyp.toTorus": "theorem", + "CapFirstExit.convex_zeros_between": "theorem", + "CapFirstExit.convex_zeros_right": "theorem", + "CapFirstExit.convex_zeros_left": "theorem", + "CapFirstExit.ridge_profile": "theorem", + "CapFirstExit.ridge_capHyp": "theorem", + "CapFirstExit.ridge_saddle_strict": "theorem", + "CapFirstExit.strongConcave_le_of_hasFDerivAt": "theorem", + "CapFirstExit.slice_le": "theorem", + "CapFirstExit.slice_ridge_bound": "theorem", + "CapFirstExit.slice_curved": "theorem", + "CapFirstExit.slice_hasFDerivAt": "theorem", + "CapFirstExit.ridge_hasDerivAt": "theorem", + "CapFirstExit.ridge_capHyp_of_slices": "theorem", + "CapFirstExit.ridge_inputs_of_joint": "theorem", + "CapFirstExit.sp_curved_side_constants": "theorem", + "CapFirstExit.convexOn_add_node": "theorem", + "CapFirstExit.two_node_bound": "theorem", + "CapFirstExit.slice_gradient_bound": "theorem", + "CapFirstExit.ridge_capHyp_sp": "theorem", + "CapFirstExit.hermite_gap_le": "theorem", + "CapFirstExit.hermite_m_ge_two": "theorem", + "CapFirstExit.ridge_capHyp_normalized": "theorem", + "CapFirstExit.strongConcaveOn_of_hessian": "theorem", + "CapFirstExit.transverse_hessian_le": "theorem", + "CapFirstExit.hessian_increment": "theorem", + "CapFirstExit.slices_strongConcave": "theorem", + "CapFirstExit.ridge_capHyp_H1": "theorem", + "CapFirstExit.slice_critical_unique": "theorem", + "CapFirstExit.slice_critical_exists": "theorem", + "CapFirstExit.isInvertible_of_negDef": "theorem", + "CapFirstExit.ridge_hasStrictFDerivAt": "theorem", + "CapFirstExit.ridge_differentiable": "theorem", + "CapFirstExit.ridge_exists": "theorem", + "CapFirstExit.hessian_increment_D": "theorem", + "CapFirstExit.transverse_hessian_le_D": "theorem", + "CapFirstExit.slices_strongConcave_D": "theorem", + "CapFirstExit.ridge_capHyp_source": "theorem", + "CapFirstExit.convex_deriv_sign": "theorem", + "CapFirstExit.two_node_deriv_bound": "theorem", + "CapFirstExit.slice_gradient_deriv_bound": "theorem", + "CapFirstExit.schur_max": "theorem", + "CapFirstExit.trilinear_lower": "theorem", + "CapFirstExit.l12_constants": "theorem", + "CapFirstExit.transverse_hessian_eq": "theorem", + "CapFirstExit.ridge_second_identity": "theorem", + "CapFirstExit.ridge_hconv": "theorem", + "CapFirstExit.dx_grad_increment": "theorem", + "CapFirstExit.l9_arith": "theorem", + "CapFirstExit.l12_lower": "theorem", + "CapFirstExit.ridge_source_facts": "theorem", + "CapFirstExit.ridge_capHyp_C3": "theorem", + "CapFirstExit.hermite_gap_le_concave": "theorem", + "CapFirstExit.third_deriv_exists_two": "theorem", + "CapFirstExit.fxxx_lower": "theorem", + "CapFirstExit.ridge_capHyp_C4": "theorem", + "CapFirstExit.hessian_x_bound": "theorem", + "CapFirstExit.hessian_r_bound": "theorem", + "CapFirstExit.axis_convexConcave": "theorem", + "CapFirstExit.block_nonneg": "theorem", + "CapFirstExit.block_bound_collar": "theorem", + "CapFirstExit.ridge_capHyp_C5": "theorem", + "CapFirstExit.ridge_capHyp_D": "theorem", + "CapFirstExit.block_of_norm": "theorem", + "CapFirstExit.collar_subset_open": "theorem", + "CapFirstExit.ridge_capHyp_E": "theorem", + "CapFirstExit.toyF": "def", + "CapFirstExit.toyRidge": "def", + "CapFirstExit.toy_ridge_ge": "theorem", + "CapFirstExit.toy_frontier": "theorem", + "CapFirstExit.toy_capHyp": "theorem", + "CapFirstExit.toy_saddle_strict": "theorem", + "CapFirstExit.toy_saddle_cut": "theorem", + "CapFirstExit.toy_death_level": "theorem", + "CapFirstExit.toy_f_M": "theorem", + "CapFirstExit.toy_f_S": "theorem", + "CapFirstExit.toy_needs_C2": "theorem", + "CapFirstExit.toy_needs_C1": "theorem", + "CapFirstExit.toy_needs_C3": "theorem", + "CapFirstExit.ridgeToyF": "def", + "CapFirstExit.ridgeToy_capHyp": "theorem", + "CapFirstExit.ridgeToy_saddle_strict": "theorem", + "CapFirstExit.ridgeToy_joint": "theorem", + "CapFirstExit.ridgeToy_slices": "theorem", + "CapFirstExit.spToyF": "def", + "CapFirstExit.spToy_capHyp": "theorem", + "CapFirstExit.spToy_normalized": "theorem", + "CapFirstExit.h1ToyF": "def", + "CapFirstExit.h1Toy_capHyp": "theorem", + "CapFirstExit.h1Toy_ridge_differentiable": "theorem", + "CapFirstExit.h1Toy_source": "theorem", + "CapFirstExit.h1Toy_C3": "theorem", + "CapFirstExit.h1Toy_C4": "theorem", + "CapFirstExit.h1Toy_D": "theorem", + "CapFirstExit.h1Toy_E": "theorem", + "CapFirstExit.quarticToyF": "def", + "CapFirstExit.quarticToy_E": "theorem", + "CapFirstExit.CapHyp.of_const_mul": "theorem", + "CapFirstExit.hasFDerivAt_zero_const_mul_iff": "theorem", + "CapFirstExit.iteratedFDeriv_const_mul_of_isOpen": "theorem", + "CapFirstExit.ridge_capHyp_K": "theorem", + "CapFirstExit.ridge_capHyp_norm_K": "theorem", + "CapFirstExit.iteratedFDeriv_three_swap\u2081\u2082": "theorem", + "CapFirstExit.iteratedFDeriv_three_swap\u2082\u2083": "theorem", + "CapFirstExit.block_of_partial": "theorem", + "CapFirstExit.ridge_capHyp_blocks": "theorem", + "CapFirstExit.mixedToyF": "def", + "CapFirstExit.mixedToy_blocks": "theorem", + "CapFirstExit.addCircle_locallyConnectedSpace": "theorem", + "CapFirstExit.torus_locallyConnectedSpace": "theorem", + "CapFirstExit.torus_capHyp_blocks": "theorem", + "CapFirstExit.torus_elder_death_level_blocks": "theorem", + "CapFirstExit.circleChart": "def", + "CapFirstExit.circleChart_continuous": "theorem", + "CapFirstExit.circleChart_coe": "theorem", + "CapFirstExit.mixedToy_hasFDerivAt": "theorem", + "CapFirstExit.mixedToy_contDiff": "theorem", + "CapFirstExit.mixedToy_iteratedFDeriv_two": "theorem", + "CapFirstExit.mixedToy_iteratedFDeriv_three": "theorem", + "CapFirstExit.mixedToy_iteratedFDeriv_four": "theorem", + "CapFirstExit.torusToyF": "def", + "CapFirstExit.torusToy_elder": "theorem" }, - { - "path": "test_gate.py", - "bytes": 19385, - "sha256": "9914ce00b01dfd17fa3b0ad1a7e2cc02b31312b0678c63c1eb85054d0b88dda6" + "compiled_inventory": [ + [ + "def", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s63617365734f6e", + "safe" + ], + [ + "theorem", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s6365696c696e67", + "safe" + ], + [ + "theorem", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s66726f6e746965725f6c65", + "safe" + ], + [ + "theorem", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s6d656d", + "safe" + ], + [ + "ctor", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s6d6b", + "safe" + ], + [ + "def", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s6d6b/s5f666c61745f63746f72", + "safe" + ], + [ + "theorem", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s6f6c646572", + "safe" + ], + [ + "rec", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s726563", + "safe" + ], + [ + "def", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s7265634f6e", + "safe" + ], + [ + "theorem", + "user", + "s436170466972737445786974", + "s436170466972737445786974/s436170487970/s7269646765", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s667878785f6c6f776572/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6831546f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6831546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f33", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f34", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f35", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f36", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f37", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s6d69786564546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s71756172746963546f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s71756172746963546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7269646765546f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7269646765546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4333/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4335/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f45/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f33", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f34", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f35", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f36", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f37", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f38", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7370546f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7370546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174/s5f6162656c5f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f33", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f727573546f7946/s65715f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f7946/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f70726f6f665f31", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f70726f6f665f32", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f70726f6f665f33", + "safe" + ], + [ + "theorem", + "aux", + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f70726f6f665f34", + "safe" + ] + ], + "compiled_codegen_inventory": [ + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f636c6f7365645f31" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f636c6f7365645f30" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f795269646765/s5f6c616d5f30" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s5f626f786564" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s5f726564417267" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f636c6f7365645f30" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30/s5f626f786564" + ], + [ + "s436170466972737445786974", + "s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30" + ] + ], + "compiled_structural_relations": [ + [ + "constructor", + "s436170466972737445786974/s436170487970/s6d6b", + "s436170466972737445786974/s436170487970" + ], + [ + "projection", + "s436170466972737445786974/s436170487970/s66726f6e746965725f6c65", + "s436170466972737445786974/s436170487970" + ], + [ + "projection", + "s436170466972737445786974/s436170487970/s6f6c646572", + "s436170466972737445786974/s436170487970" + ], + [ + "projection", + "s436170466972737445786974/s436170487970/s6d656d", + "s436170466972737445786974/s436170487970" + ], + [ + "projection", + "s436170466972737445786974/s436170487970/s7269646765", + "s436170466972737445786974/s436170487970" + ], + [ + "projection", + "s436170466972737445786974/s436170487970/s6365696c696e67", + "s436170466972737445786974/s436170487970" + ], + [ + "aux_recursor", + "s436170466972737445786974/s436170487970/s63617365734f6e", + "s436170466972737445786974/s436170487970" + ], + [ + "recursor", + "s436170466972737445786974/s436170487970/s726563", + "s436170466972737445786974/s436170487970" + ], + [ + "aux_recursor", + "s436170466972737445786974/s436170487970/s7265634f6e", + "s436170466972737445786974/s436170487970" + ] + ], + "compiled_inventory_observation": { + "source_commit": "9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966", + "proof_sha256": "040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0", + "owned_constants": 206, + "support_records": 54, + "ir_names": 8, + "dependency_closure": 47659, + "discovery_source_identity_sha256": "e0156e4fd169e94b5dd771e52061c5d7182b62449e264b1561bd6b3ea254dbd3", + "program_sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "transcript_sha256": "b4a9341a150e8aa60c1f746df4a20c41b6d740a83312ed7485edf504eb80ea03", + "kernel_scope": "default leanchecker replays owned module declarations against imported environment; no empty-kernel Mathlib claim", + "qualification": "actual discovery evidence; final repaired-gate execution still required" } - ] } diff --git a/frontiers/cap_first_exit_lean_20261002/README.md b/frontiers/cap_first_exit_lean_20261002/README.md index e87c1b10a..d4adc709c 100644 --- a/frontiers/cap_first_exit_lean_20261002/README.md +++ b/frontiers/cap_first_exit_lean_20261002/README.md @@ -251,3 +251,9 @@ tightens `gate.py --execute`: The new tests drive `execute` with synthetic process results and do not run Lean. The paragraphs above are kept as written. This changes no statement, proof, import, toolchain or dependency pin, and no scientific status. + +## CBZ compiled-admission successor — 30 October2026 UTC + +The current owner MASTER DIRECTIVE supersedes earlier operational author-merge prohibitions, family approval requirements and procedural holds in this historical document. Historical authorship, organizational-independence credit, alignment status, mathematical premises and nonclaims remain unchanged. This authorization is not a successful test or a parent theorem proof. + +[Cap compiled admission](CBZ_ADMISSION.md) documents the new source/compiled audit, exact206-kernel-constant and8-IR-name discovery scope, portable commands, auditor self-verification, actual mutation controls, retained default-kernel/import trust and remaining scientific boundaries. The152 visible declarations and original proof bytes are preserved. Source-only success remains identity evidence; only an actual source-bound execute receipt qualifies its precise run. No broad Layer A or federation CBZ-0 claim follows. diff --git a/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py b/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py new file mode 100644 index 000000000..02b74f2aa --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py @@ -0,0 +1,305 @@ +"""Cap-only compiled admission. Protocol primitives adapted from RF-GATE-01. + +Supplied text is not execution authentication. The gate must run the pinned Lean +exporter and preserve its actual exit, streams, program/source/object identities. +""" +import hashlib +import re + +MODULE_NAME = ('CapFirstExit',) +ALLOWED = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = {'theorem', 'def', 'axiom', 'opaque', 'inductive', 'ctor', 'rec', 'quot'} +COMPONENT = r'(?:s(?:[0-9a-f]{2})*|n(?:0|[1-9][0-9]*))' +ENC = re.compile(COMPONENT + r'(?:/' + COMPONENT + r')*') +AUX_SUFFIX = re.compile(r'_proof_[0-9]+|_simp_[0-9]+_[0-9]+|_abel_[0-9]+_[0-9]+|eq_[0-9]+|eq_def|match_[0-9]+') + + +def require(condition, reason): + if not condition: + raise ValueError(reason) + + +def decode(encoded): + require(isinstance(encoded, str) and ENC.fullmatch(encoded), 'protocol: malformed encoded name') + result = [] + for part in encoded.split('/'): + if part[0] == 'n': + result.append(int(part[1:])) + else: + try: + result.append(bytes.fromhex(part[1:]).decode('utf-8')) + except (ValueError, UnicodeDecodeError): + raise ValueError('protocol: invalid UTF8 name') from None + return tuple(result) + + +def encode(name): + require(isinstance(name, tuple) and name, 'protocol: empty name') + require(all(isinstance(x, str) or (type(x) is int and x >= 0) for x in name), 'protocol: invalid name component') + return '/'.join('n' + str(x) if type(x) is int else 's' + x.encode('utf-8').hex() for x in name) + + +def dotted(name): + require(isinstance(name, str) and name and all(p and not any(c.isspace() or c in '«»/|' for c in p) + for p in name.split('.')), 'unsupported visible name') + return tuple(name.split('.')) + + +def render(name): + return '.'.join(str(x) if type(x) is int else x for x in name) + + +def parse_inventory(text): + require(isinstance(text, str), 'protocol: transcript is not text') + modules, constants, relations, axioms, closures, extras = [], [], [], [], [], [] + lines = [] + for line in text.splitlines(): + if not line: + continue + lines.append(line) + fields = line.split('|') + tag = fields[0] + if tag == 'MODULE': + require(len(fields) == 5 and fields[2] in ('true', 'false') + and all(re.fullmatch(r'0|[1-9][0-9]*', n) for n in fields[3:]), 'protocol: invalid MODULE') + modules.append((decode(fields[1]), fields[2] == 'true', int(fields[3]), int(fields[4]))) + elif tag == 'INV': + require(len(fields) == 6 and fields[1] in KINDS and fields[2] in ('user', 'aux') + and fields[5] in ('safe', 'unsafe', 'partial'), 'protocol: invalid INV') + constants.append((fields[1], fields[2], decode(fields[3]), decode(fields[4]), fields[5])) + elif tag == 'REL': + require(len(fields) == 4 and fields[1] in ('projection','constructor','recursor','no_confusion','aux_recursor'), + 'protocol: invalid REL') + relations.append((fields[1], decode(fields[2]), decode(fields[3]))) + elif tag == 'EXTRA': + require(len(fields) == 3, 'protocol: invalid EXTRA') + extras.append((decode(fields[1]),decode(fields[2]))) + elif tag == 'AXIOMS': + require(len(fields) == 2, 'protocol: invalid AXIOMS') + axioms.append([] if fields[1] == '' else [decode(x) for x in fields[1].split(',')]) + elif tag == 'CLOSURE': + require(len(fields) == 2 and re.fullmatch(r'0|[1-9][0-9]*', fields[1]), 'protocol: invalid CLOSURE') + closures.append(int(fields[1])) + else: + raise ValueError('protocol: unrecognized output: ' + line) + require(len(axioms) == 1 and len(closures) == 1, 'protocol: one AXIOMS and CLOSURE required') + require(constants, 'protocol: empty constant census') + return dict(modules=modules, constants=constants, relations=relations, extras=extras, + axioms=axioms[0], closure=closures[0], lines=lines) + + +def parse_binding(records, visible): + require(isinstance(records, list), 'compiled binding absent; actual pinned census required') + result, names = set(), set() + for row in records: + require(isinstance(row, list) and len(row) == 5 and all(isinstance(x, str) for x in row), 'invalid binding record') + kind, origin, module, name, safety = row + require(kind in KINDS and origin in ('user', 'aux') and safety in ('safe','unsafe','partial'), 'invalid binding kind') + try: + item = kind, origin, decode(module), decode(name), safety + except ValueError as exc: + raise ValueError('binding: ' + str(exc)) from None + require(item[2] == MODULE_NAME, 'binding outside module') + require(item[3] not in visible, 'target_shadowing in binding') + require(item[3] not in names, 'duplicate_binding') + names.add(item[3]); result.add(item) + return frozenset(result) + + +def parse_codegen(records): + require(isinstance(records,list), 'codegen binding absent') + result=set() + for row in records: + require(isinstance(row,list) and len(row)==2, 'invalid codegen binding') + item=decode(row[0]),decode(row[1]) + require(item[0]==MODULE_NAME and item not in result, 'invalid or duplicate codegen binding') + result.add(item) + return result + + +def inventory_violations(inventory, visible_kinds, bound_records, reported_axioms=None, codegen_records=None): + require(isinstance(visible_kinds, dict) and visible_kinds, 'empty visible declaration map') + visible = {dotted(name): kind for name, kind in visible_kinds.items()} + require(all(kind in ('theorem','def','inductive') for kind in visible.values()), 'invalid visible kind') + bound = parse_binding(bound_records, visible) + codegen = parse_codegen([] if codegen_records is None else codegen_records) + findings = set() + def flag(code, name=(), note=''): + findings.add((code, encode(name) if name else '', note)) + module_counts = {} + for module, is_module, count, extra in inventory['modules']: + if module in module_counts: + flag('duplicate_module', module) + module_counts[module] = count + if module != MODULE_NAME: + flag('unregistered_module', module) + if is_module: + flag('module_system', module) + if extra != sum(owner==module for owner,name in inventory['extras']): + flag('codegen_extra', module) + if MODULE_NAME not in module_counts: + flag('missing_module', MODULE_NAME) + if len(set(inventory['extras'])) != len(inventory['extras']): + flag('duplicate_codegen',MODULE_NAME) + for module,name in set(inventory['extras']) ^ codegen: + flag('codegen_binding',name) + for module,name in inventory['extras']: + if module != MODULE_NAME: + flag('codegen_outside_module',name) + constants, observed = {}, set() + for row in inventory['constants']: + kind, origin, module, name, safety = row + if name in constants: + flag('duplicate_name', name) + constants[name] = row + if module != MODULE_NAME: + flag('outside_module', name) + if kind == 'axiom': + flag('package_axiom', name) + if kind in ('opaque','quot'): + flag('unsupported_owned_kind', name) + if safety != 'safe': + flag('unsafe_or_partial', name) + if name in visible: + if kind != visible[name] or origin != 'user': + flag('visible_kind', name) + else: + observed.add(row) + if row not in bound: + flag('unregistered_constant', name) + actual_count = sum(row[2] == MODULE_NAME for row in inventory['constants']) + if MODULE_NAME in module_counts and actual_count != module_counts[MODULE_NAME]: + flag('count_mismatch', MODULE_NAME) + for name in visible.keys() - constants.keys(): + flag('missing_visible', name) + for row in bound - observed: + flag('missing_constant', row[3]) + relation_map = {} + expected_relation_kinds = {'projection': {'def','theorem'}, 'constructor': {'ctor'}, 'recursor': {'rec'}, + 'no_confusion': {'def'}, 'aux_recursor': {'def'}} + for relation, name, parent in inventory['relations']: + valid = (name not in relation_map and parent in visible and visible[parent] == 'inductive' + and name in constants and constants[name][0] in expected_relation_kinds[relation]) + if not valid: + flag('invalid_structural_relation', name) + relation_map[name] = relation, parent + user_names = {name for name, row in constants.items() if row[1] == 'user'} + for name, row in constants.items(): + kind, origin, module, _, safety = row + if name in visible: + continue + if origin == 'user' and kind == 'theorem' and relation_map.get(name, (None,))[0] != 'projection': + flag('extra_user_theorem', name) + if origin == 'user' and kind in ('def','inductive','opaque') and name not in relation_map: + flag('extra_user_definition', name) + if kind in ('ctor','rec') and name not in relation_map: + flag('invalid_structural_relation', name) + if origin == 'aux' and kind == 'theorem': + parents = [name[:i] for i in range(len(name)-1, 0, -1) if name[:i] in user_names] + if not parents or not all(isinstance(c, str) and AUX_SUFFIX.fullmatch(c) for c in name[len(parents[0]):]): + flag('unbound_auxiliary', name) + axioms = set(inventory['axioms']) + if len(axioms) != len(inventory['axioms']): + flag('duplicate_axiom') + for axiom in axioms - {dotted(a) for a in ALLOWED}: + flag('forbidden_axiom', axiom) + if reported_axioms is not None: + reported = {dotted(a) for values in reported_axioms.values() for a in values} + for axiom in reported - axioms: + flag('reported_axiom_omitted', axiom) + if inventory['closure'] < len(inventory['constants']): + flag('impossible_closure') + return sorted(findings) + + +def audit_inventory(text, visible_kinds, bound_records, reported_axioms=None, codegen_records=None): + inventory = parse_inventory(text) + findings = inventory_violations(inventory, visible_kinds, bound_records, reported_axioms, codegen_records) + require(not findings, 'compiled inventory rejected: ' + '; '.join(code+' '+name for code,name,note in findings)) + return dict(declarations=len(inventory['constants']), visible_declarations=len(visible_kinds),codegen_entries=len(inventory['extras']), + axioms=sorted(render(a) for a in inventory['axioms']), closure=inventory['closure'], + sha256=hashlib.sha256('\n'.join(inventory['lines']).encode()).hexdigest()) + + +def inventory_source(): + """Pinned Lean module-table exporter; structure relations come from environment metadata.""" + return r'''import CapFirstExit +import Lean +open Lean + +def _cap.kind : ConstantInfo → String + | .thmInfo _ => "theorem" | .defnInfo _ => "def" | .axiomInfo _ => "axiom" | .opaqueInfo _ => "opaque" + | .inductInfo _ => "inductive" | .ctorInfo _ => "ctor" | .recInfo _ => "rec" | .quotInfo _ => "quot" +def _cap.safety (ci : ConstantInfo) : String := + if ci.isUnsafe then "unsafe" else + match ci with + | .defnInfo v => match v.safety with + | .safe => "safe" | .unsafe => "unsafe" | .partial => "partial" + | _ => "safe" +def _cap.hex (s : String) : String := + s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then "0" else "") ++ String.ofList (Nat.toDigits 16 b.toNat)) "" +def _cap.join (a b : String) : String := if a.isEmpty then b else a ++ "/" ++ b +def _cap.enc : Name → String + | .anonymous => "" + | .str p s => _cap.join (_cap.enc p) ("s" ++ _cap.hex s) + | .num p k => _cap.join (_cap.enc p) ("n" ++ toString k) +structure _cap.St where + visited : NameSet := {} + axioms : NameSet := {} + missing : NameSet := {} +partial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do + unless (← get).visited.contains c do + modify fun s => { s with visited := s.visited.insert c } + let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env) + match env.find? c with + | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type + | some (.defnInfo v) => expr v.type *> expr v.value + | some (.thmInfo v) => expr v.type *> expr v.value + | some (.opaqueInfo v) => expr v.type *> expr v.value + | some (.quotInfo _) => pure () + | some (.ctorInfo v) => expr v.type + | some (.recInfo v) => expr v.type + | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env) + | none => modify fun s => { s with missing := s.missing.insert c } +def _cap.main : CoreM Unit := do + let env ← getEnv + let header := env.header + let names := header.moduleNames + let mut owned : Array (Name × ConstantInfo × Name) := #[] + for h : idx in [0:names.size] do + let m := names[idx] + if (`CapFirstExit).isPrefixOf m then + let data := header.moduleData[idx]! + IO.println s!"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}" + for c in data.extraConstNames do + IO.println s!"EXTRA|{_cap.enc m}|{_cap.enc c}" + for c in data.constNames do + match env.find? c with + | some ci => owned := owned.push (c, ci, m) + | none => throwError "module constant missing from environment" + let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1) + for (c, ci, m) in sorted do + let origin := if (← findDeclarationRanges? c).isSome then "user" else "aux" + IO.println s!"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}" + let structName := `CapFirstExit.CapHyp + if let some info := getStructureInfo? env structName then + let ctor := getStructureCtor env structName + IO.println s!"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}" + for field in info.fieldInfo do + IO.println s!"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}" + for (c, ci, _) in sorted do + if c.getPrefix == structName then + match ci with + | .recInfo _ => IO.println s!"REL|recursor|{_cap.enc c}|{_cap.enc structName}" + | _ => + if isAuxRecursor env c then + IO.println s!"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}" + else if isNoConfusion env c then + IO.println s!"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}" + let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {} + unless state.missing.isEmpty do throwError "dependency constant missing from environment" + let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·) + IO.println s!"AXIOMS|{",".intercalate axioms.toList}" + IO.println s!"CLOSURE|{state.visited.size}" +#eval _cap.main +''' diff --git a/frontiers/cap_first_exit_lean_20261002/gate.py b/frontiers/cap_first_exit_lean_20261002/gate.py index ee7471c9d..521a70902 100644 --- a/frontiers/cap_first_exit_lean_20261002/gate.py +++ b/frontiers/cap_first_exit_lean_20261002/gate.py @@ -14,13 +14,19 @@ It is not an alignment review and not an acceptance of any parent theorem. """ import argparse +from concurrent.futures import ThreadPoolExecutor +import datetime import hashlib +import importlib.util import json +import os import pathlib import re +import signal import shutil import subprocess import sys +import tempfile ROOT = pathlib.Path(__file__).resolve().parent REPO = ROOT.parents[1] @@ -30,7 +36,8 @@ DECL = re.compile(r'^(?:noncomputable )?(theorem|def|structure) (' + NAME + r')') FORBIDDEN = ('sorry', 'admit', 'axiom', 'native_decide', 'implemented_by', 'extern', 'unsafe', 'opaque', 'set_option', 'macro', 'elab', 'syntax', 'run_cmd', 'run_tac', 'decreasing_by', - 'partial', 'debug', 'ofReduceBool', 'trustCompiler') + 'partial', 'debug', 'ofReduceBool', 'trustCompiler', 'private', 'protected', 'lemma', + 'class', 'instance', 'inductive', 'mutual', 'run_elab', 'initialize') SKIP_DIRS = {'.lake', '__pycache__'} # Official release commit of each Lean version this packet may pin. A pin with no entry fails closed. LEAN_RELEASE_COMMITS = {'4.34.1': '5045d0056413266e57c625dcd7c365b10e377c52'} @@ -85,7 +92,7 @@ def forbidden_tokens(text): return sorted(set(FORBIDDEN) & words) -def declarations(text): +def declaration_records(text): """Fully qualified names of top-level theorem/def/structure declarations. Namespaces prefix names; named sections only scope variables and must close like namespaces.""" @@ -103,11 +110,15 @@ def declarations(text): require(re.match(r'^(section|end)\s*$', line) is None, 'anonymous section or end is not supported') m = DECL.match(line) if m: - names.append('.'.join([n for k, n in stack if k == 'namespace'] + [m.group(2)])) + names.append((m.group(1), '.'.join([n for k, n in stack if k == 'namespace'] + [m.group(2)]))) require(not stack, 'unclosed namespace or section') return names +def declarations(text): + return [name for kind, name in declaration_records(text)] + + def audit_axioms(text, targets, allowed): records = {} for name, raw in AXIOM_LINE.findall(text): @@ -120,12 +131,22 @@ def audit_axioms(text, targets, allowed): return records +def packet_files(root): + """Prune ignored cache trees before traversal, retaining every other source leaf.""" + paths = [] + for directory, directories, filenames in os.walk(root): + directories[:] = [name for name in directories if name not in SKIP_DIRS] + for name in directories: + require(not (pathlib.Path(directory) / name).is_symlink(), 'source directory symlink') + paths.extend((pathlib.Path(directory) / name).relative_to(root).as_posix() for name in filenames) + return sorted(paths) + + def source_check(root=None, repo=None): root = ROOT if root is None else root # resolved at call time, not bound at import repo = REPO if repo is None else repo m = load_json((root / 'MANIFEST.json').read_text()) - present = sorted(p.relative_to(root).as_posix() for p in root.rglob('*') - if p.is_file() and not SKIP_DIRS & set(p.relative_to(root).parts)) + present = packet_files(root) expected = sorted([e['path'] for e in m['files']] + ['MANIFEST.json']) require(present == expected, 'packet tree differs from manifest: ' + repr(present)) for e in m['files']: @@ -144,8 +165,7 @@ def source_check(root=None, repo=None): revs = {pkg['name']: pkg['rev'] for pkg in lock['packages']} require(revs.get('mathlib') == m['mathlib_rev'], 'lake-manifest Mathlib rev mismatch') require(revs == m['dependency_revisions'], 'dependency revisions differ from MANIFEST.json') - lean_files = sorted(p.relative_to(root).as_posix() for p in root.rglob('*.lean') - if not SKIP_DIRS & set(p.relative_to(root).parts)) + lean_files = [name for name in present if name.endswith('.lean')] require(lean_files == [MODULE + '.lean'], 'unexpected Lean files: ' + repr(lean_files)) text = (root / (MODULE + '.lean')).read_text() code = strip_comments(text) @@ -158,6 +178,11 @@ def source_check(root=None, repo=None): require(decls == m['targets'], 'declared targets differ from MANIFEST.json') require(sorted(m['expected_axioms']) == sorted(m['targets']), 'expected_axioms must cover exactly the targets') require(set(m['allowed_axioms']) == {'propext', 'Classical.choice', 'Quot.sound'}, 'allowed axiom set changed') + visible = {name: ('inductive' if kind == 'structure' else kind) for kind, name in declaration_records(text)} + require(m.get('compiled_visible_kinds') == visible, 'visible declaration kinds differ from source') + require(len(visible) == 152 and sum(k == 'theorem' for k in visible.values()) == 138 + and sum(k == 'def' for k in visible.values()) == 13 + and sum(k == 'inductive' for k in visible.values()) == 1, 'original visible declaration scope changed') return m @@ -215,15 +240,189 @@ def source_identity(m, root=None, repo=None): return sha(''.join(name + '\0' + sha(path.read_bytes()) + '\n' for name, path in parts).encode()) -def run(command, label, out, expect_success=True): - proc = subprocess.run(command, cwd=ROOT, text=True, capture_output=True, timeout=1800) +def run_process(command, cwd, timeout=1800): + """Own one process group, retaining partial streams and reaping it on timeout.""" + process = subprocess.Popen(command,cwd=cwd,text=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,start_new_session=True) + timed_out = False + signals = [] + try: + stdout,stderr=process.communicate(timeout=timeout) + except subprocess.TimeoutExpired: + timed_out=True + try: + os.killpg(process.pid,signal.SIGTERM);signals.append('SIGTERM') + except ProcessLookupError: + pass + try: + stdout,stderr=process.communicate(timeout=5) + except subprocess.TimeoutExpired: + try: + os.killpg(process.pid,signal.SIGKILL);signals.append('SIGKILL') + except ProcessLookupError: + pass + stdout,stderr=process.communicate() + result=subprocess.CompletedProcess(command,process.returncode,stdout,stderr) + result.timed_out=timed_out;result.cleanup_signals=signals + return result + + +def run(command, label, out, expect_success=True, cwd=None, pure_stream=False): + working_directory=ROOT if cwd is None else cwd + started=datetime.datetime.now(datetime.timezone.utc).isoformat() + proc = run_process(command,cwd=working_directory,timeout=1800) log = proc.stdout + proc.stderr (out / (label + '.log')).write_text(log) + (out / (label + '.stdout')).write_text(proc.stdout) + (out / (label + '.stderr')).write_text(proc.stderr) + (out / (label + '.exit')).write_text(str(proc.returncode) + '\n') + (out / (label + '.process.json')).write_text(json.dumps({'command':command,'cwd':str(working_directory), + 'exit':proc.returncode,'timed_out':getattr(proc,'timed_out',False), + 'cleanup_signals':getattr(proc,'cleanup_signals',[]),'started_utc':started, + 'ended_utc':datetime.datetime.now(datetime.timezone.utc).isoformat()},indent=2)+'\n') + require(not getattr(proc,'timed_out',False), label+' timed out; partial streams and cleanup retained') if expect_success: require(proc.returncode == 0, label + ' failed:\n' + log[-4000:]) + if pure_stream: + require(proc.returncode == 0 and proc.stderr == '', label + ' requires successful pure stdout') return log +def compiled_implementation(): + path = ROOT / 'compiled_inventory.py' + spec = importlib.util.spec_from_file_location('cap_compiled_inventory', path) + require(spec is not None and spec.loader is not None, 'compiled inventory loader unavailable') + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def compiled_contract(m, implementation): + require(isinstance(m.get('compiled_inventory'), list), + 'CBZ_CAP_COMPILED_INVENTORY_UNQUALIFIED: actual pinned compiled census binding required') + require(m.get('compiled_inventory_schema') == 'cap-name-components-v1', 'compiled inventory schema') + require(implementation.ALLOWED == frozenset(m['allowed_axioms']), 'compiled axiom policy mismatch') + implementation.parse_binding(m['compiled_inventory'], + {implementation.dotted(n): k for n,k in m['compiled_visible_kinds'].items()}) + require(isinstance(m.get('compiled_codegen_inventory'),list),'actual IR-name binding required') + implementation.parse_codegen(m['compiled_codegen_inventory']) + observation=m.get('compiled_inventory_observation') + require(isinstance(observation,dict) and observation.get('proof_sha256')==sha((ROOT/'CapFirstExit.lean').read_bytes()), + 'compiled binding observation has different proof identity') + require(observation.get('support_records')==len(m['compiled_inventory']) + and observation.get('ir_names')==len(m['compiled_codegen_inventory']) + and observation.get('owned_constants')==len(m['targets'])+len(m['compiled_inventory']), + 'compiled binding differs from observed census size') + + +def output_objects(packet): + required=['.lake/build/lib/lean/CapFirstExit.olean','.lake/build/lib/lean/CapFirstExit.ilean', + '.lake/build/ir/CapFirstExit.c'] + optional=['.lake/build/lib/lean/CapFirstExit.olean.private','.lake/build/lib/lean/CapFirstExit.olean.server', + '.lake/build/lib/lean/CapFirstExit.ir','.lake/build/lib/lean/CapFirstExit.ir.sig'] + paths=required+[name for name in optional if (packet/name).exists()] + result={} + for name in paths: + path=packet/name + require(path.is_file() and not path.is_symlink(), 'missing or symlink compiled output: '+name) + data=path.read_bytes();result[name]={'bytes':len(data),'sha256':sha(data)} + return result + + +def audit_compiled(m, out, axioms): + implementation = compiled_implementation() + compiled_contract(m, implementation) + program = out / 'Inventory.lean' + program.write_text(implementation.inventory_source()) + text = run(['lake', 'env', 'lean', str(program)], 'compiled_inventory', out, pure_stream=True) + report = implementation.audit_inventory(text, m['compiled_visible_kinds'], m['compiled_inventory'], axioms, + m['compiled_codegen_inventory']) + report['program_sha256'] = sha(program.read_bytes()) + report['admission_controls'] = compiled_admission(m, implementation, report, out) + return report + + +def compiled_admission(m, implementation, baseline, out): + """Actual disposable package mutations; unrelated build/audit failures are never kills.""" + mutations = { + 'private_theorem': ('\nnamespace CapFirstExit\nprivate theorem cbzUnlisted : True := by trivial\nend CapFirstExit\n', + {'extra_user_theorem', 'unregistered_constant'}), + 'private_sorry': ('\nnamespace CapFirstExit\nprivate theorem cbzUnlistedSorry : True := by sorry\nend CapFirstExit\n', + {'extra_user_theorem', 'unregistered_constant', 'forbidden_axiom'}), + 'unused_sorry_def': ('\nnamespace CapFirstExit\nnoncomputable def cbzUnused : Nat := by sorry\nend CapFirstExit\n', + {'extra_user_definition', 'unregistered_constant', 'forbidden_axiom'}), + 'range_less': ('\nset_option maxRecDepth 1000 in run_elab\n Lean.addDecl <| .thmDecl {\n' + ' name := `CapFirstExit.path_meets_frontier._proof_999\n levelParams := []\n' + ' type := Lean.mkConst ``True\n value := Lean.mkConst ``True.intro\n }\n', + {'unregistered_constant'})} + results = {} + work_parent = ROOT / '.lake' / 'compiled-admission' + require(not work_parent.is_symlink(), 'symlink compiled admission directory') + work_parent.mkdir(exist_ok=True) + with tempfile.TemporaryDirectory(dir=work_parent, prefix='run-') as temporary: + work = pathlib.Path(temporary) + def one(label, injection, expected): + packet = work / label + shutil.copytree(ROOT, packet, ignore=lambda directory, names: ['.lake'] if pathlib.Path(directory) == ROOT else []) + shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build') + (packet / '.lake' / 'packages').symlink_to(ROOT / '.lake' / 'packages', target_is_directory=True) + source = packet / (MODULE + '.lean') + source.write_bytes(source.read_bytes() + injection.encode()) + setup=packet/'.lake/build/ir/CapFirstExit.setup.json' + require(setup.is_file() and not setup.is_symlink(), 'missing actual Lake compiler setup') + setup_sha256=sha(setup.read_bytes()) + if label != 'baseline': + # Exact full source compilation using the successful Lake setup; dependency + # artifacts are read through its absolute import paths. Every output is local + # to this copied packet, so concurrent controls cannot rebuild shared packages. + command=['lake','env','lean',str(source),'-j2', + '-o',str(packet/'.lake/build/lib/lean/CapFirstExit.olean'), + '-i',str(packet/'.lake/build/lib/lean/CapFirstExit.ilean'), + '-c',str(packet/'.lake/build/ir/CapFirstExit.c'), + '--setup',str(setup),'--json'] + run(command, 'admission_'+label+'_build', out, cwd=packet) + objects=output_objects(packet) + if label != 'baseline': + run(['lake','env','leanchecker',MODULE], 'admission_'+label+'_kernel', out, cwd=packet) + public = run(['lake','env','lean',str(out / 'Axioms.lean')], 'admission_'+label+'_axioms', out, cwd=packet) + audit_axioms(public, m['targets'], m['allowed_axioms']) + text = run(['lake','env','lean',str(out / 'Inventory.lean')], 'admission_'+label+'_inventory', out, + cwd=packet, pure_stream=True) + inventory = implementation.parse_inventory(text) + require(output_objects(packet)==objects and sha(setup.read_bytes())==setup_sha256, + 'compiled outputs or compiler setup changed during control audit: '+label) + findings = implementation.inventory_violations(inventory, m['compiled_visible_kinds'], m['compiled_inventory'], + codegen_records=m['compiled_codegen_inventory']) + if label == 'baseline': + copied = implementation.audit_inventory(text, m['compiled_visible_kinds'], m['compiled_inventory'], + codegen_records=m['compiled_codegen_inventory']) + require(copied['sha256'] == baseline['sha256'], 'copied compiled baseline differs') + return label, copied + codes = {code for code, name, note in findings} + require(codes == expected, 'compiled control '+label+' rejected for unexpected reasons: '+repr(findings)) + injected = [row for row in inventory['constants'] if ('cbzUnlisted' in implementation.render(row[3]) + or 'cbzUnused' in implementation.render(row[3]) or row[3][-1] == '_proof_999')] + require(len(injected) == 1, 'compiled control injection missing or ambiguous: '+label) + full_name = implementation.encode(injected[0][3]) + for code, name, note in findings: + require(name == full_name or (code == 'forbidden_axiom' and name == implementation.encode(('sorryAx',))), + 'compiled control wrong full declaration identity: '+label) + return label, {'outcome':'REJECTED_FOR_EXPECTED_REASON', 'injected_name':full_name, + 'findings':[list(row) for row in findings], 'mutated_source_sha256':sha(source.read_bytes()), + 'compiler_setup_sha256':setup_sha256,'output_objects':objects, + 'compilation':'full unchanged prefix plus injection; exact Lake setup; private outputs; 2 Lean threads'} + one('baseline','',set()) + # At most two independent package controls, each with two Lean threads. + with ThreadPoolExecutor(max_workers=2) as executor: + futures=[executor.submit(one,label,injection,expected) for label,(injection,expected) in mutations.items()] + try: + for future in futures: + label,result=future.result();results[label]=result + except BaseException: + for future in futures:future.cancel() + raise + return results + + def observe(m, out, label): """One observation of what execution runs against, read afresh: the exact Lean release (G1), every dependency at its pinned HEAD with a clean worktree, and the source identity re-checked by @@ -236,11 +435,19 @@ def observe(m, out, label): def execute(m): + require(ROOT.is_dir() and not ROOT.is_symlink(), 'symlink or absent package root') + require(not (ROOT/'.lake').is_symlink(), 'symlink .lake ancestor') out = ROOT / '.lake' / 'evidence' + require(not out.is_symlink(), 'symlink evidence directory') if out.exists(): - shutil.rmtree(out) + history = ROOT / '.lake' / 'evidence-history' + require(not history.is_symlink(), 'symlink evidence history') + history.mkdir(exist_ok=True) + archive = pathlib.Path(tempfile.mkdtemp(prefix='attempt-', dir=history)) / 'evidence' + shutil.move(str(out), archive) out.mkdir(parents=True) preflight = observe(m, out, 'version') # before the first Lean execution + compiled_contract(m, compiled_implementation()) build = ROOT / '.lake' / 'build' require(not build.is_symlink(), 'symlink build directory') if build.exists(): @@ -253,6 +460,7 @@ def execute(m): audit.write_text('import ' + MODULE + '\n' + ''.join('#print axioms ' + n + '\n' for n in m['targets'])) axioms = audit_axioms(run(['lake', 'env', 'lean', str(audit)], 'axioms', out), m['targets'], m['allowed_axioms']) require(axioms == {k: sorted(v) for k, v in m['expected_axioms'].items()}, 'axiom report differs from MANIFEST.json') + compiled = audit_compiled(m, out, axioms) controls = { 'sorry': 'theorem injected : False := by sorry\n', 'custom_axiom': 'axiom hiddenPremise : False\ntheorem injected : False := hiddenPremise\n', @@ -261,7 +469,7 @@ def execute(m): for label, body in controls.items(): path = out / ('Control_' + label + '.lean') path.write_text('import ' + MODULE + '\n' + body + '#print axioms injected\n') - clog = run(['lake', 'env', 'lean', str(path)], 'control_' + label, out, expect_success=False) + clog = run(['lake', 'env', 'lean', str(path)], 'control_' + label, out, pure_stream=True) try: audit_axioms(clog, ['injected'], m['allowed_axioms']) except ValueError as exc: @@ -285,6 +493,7 @@ def execute(m): 'build': 'PASS', 'leanchecker': 'PASS', 'dependency_worktrees': 'CLEAN', 'axioms': axioms, 'negative_controls': outcomes, + 'compiled_inventory': compiled, 'observations': {'preflight': preflight, 'final': final}, 'alignment_review': 'NOT_CLAIMED'} text = json.dumps(receipt, indent=2, sort_keys=True) + '\n' diff --git a/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py b/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py new file mode 100644 index 000000000..8327bcd36 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py @@ -0,0 +1,66 @@ +"""Actual pinned-Lean emitter control; invoked explicitly, never skipped by discovery.""" +import argparse +import hashlib +import importlib.util +import json +from pathlib import Path +import shutil +import unittest + +from run_cbz_mutations import execute + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--lean', required=True, type=Path) + parser.add_argument('--output', required=True, type=Path) + args = parser.parse_args() + args.output=args.output.expanduser().resolve() + args.lean=args.lean.expanduser().resolve(strict=True) + args.output.mkdir(parents=True, exist_ok=False) + implementation = Path(__file__).resolve().with_name('compiled_inventory.py') + spec = importlib.util.spec_from_file_location('cap_actual_safety_exporter', implementation) + api = importlib.util.module_from_spec(spec); spec.loader.exec_module(api) + work = args.output + (work/'CapFirstExit.lean').write_text('namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\n' + 'theorem visible : True := by trivial\nend CapFirstExit\n') + (work/'Inventory.lean').write_text(api.inventory_source()) + records = [] + + def retained(command, label, timeout=600): + try: + return execute(command,work,work,label,timeout=timeout) + finally: + metadata=work/(label+'.process.json') + if metadata.is_file(): + records.append(dict(label=label,**json.loads(metadata.read_text()))) + + class ActualLeanSafety(unittest.TestCase): + def runTest(self): + version = retained([str(args.lean),'--version'],'version') + self.assertEqual(version.returncode, 0) + self.assertEqual(version.stderr, b'') + self.assertRegex(version.stdout.decode(), r'^Lean \(version 4\.34\.1, [^\n]+, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release\)\n$') + for label, command in [('compile',[str(args.lean),'-j2','-o','CapFirstExit.olean','CapFirstExit.lean']), + ('export',[str(args.lean),'-j2','Inventory.lean'])]: + env_program=shutil.which('env') + self.assertIsNotNone(env_program, 'POSIX env executable unavailable for isolated fixture') + process = retained([env_program,'LEAN_PATH='+str(work),'LEAN_NUM_THREADS=2']+command,label) + self.assertEqual(process.returncode,0, 'actual fixture process failed before the safety assertion: '+label) + self.assertEqual(process.stderr,b'', 'actual fixture stderr before the safety assertion: '+label) + inventory=api.parse_inventory((work/'export.stdout').read_text()) + hazards=[row for row in inventory['constants'] if row[3]==('CapFirstExit','opaqueHazard')] + self.assertEqual(len(hazards),1) + self.assertEqual(hazards[0][4],'unsafe','ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH') + result=unittest.TextTestRunner(verbosity=2).run(ActualLeanSafety()) + report={'schema':'cap.actual-opaque-export-control.v1','runs':records, + 'success':result.wasSuccessful(),'tests':result.testsRun, + 'implementation_sha256':hashlib.sha256(implementation.read_bytes()).hexdigest(), + 'program_sha256':hashlib.sha256((work/'Inventory.lean').read_bytes()).hexdigest(), + 'failures':len(result.failures),'errors':len(result.errors)} + (work/'RESULT.json').write_text(json.dumps(report,indent=2,sort_keys=True)+'\n') + return 0 if result.wasSuccessful() else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py b/frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py new file mode 100644 index 000000000..d59653bed --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py @@ -0,0 +1,102 @@ +"""Named Cap auditor mutations; generic errors, zero tests and foreign failures never kill.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import sys +import tempfile + +import gate + +HERE=Path(__file__).resolve().parent +MUTATIONS=[ + ('owned_axiom'," if kind == 'axiom':",' if False:', 'test_owned_axiom_is_forbidden_even_if_approved_name_and_bound'), + ('extra_constant',' if row not in bound:',' if False:', 'test_compiler_shaped_added_theorem_is_not_automatically_admitted'), + ('hidden_user_theorem'," if origin == 'user' and kind == 'theorem' and relation_map.get(name, (None,))[0] != 'projection':",' if False:', 'test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it'), + ('hidden_user_definition'," if origin == 'user' and kind in ('def','inductive','opaque') and name not in relation_map:",' if False:', 'test_user_definition_cannot_be_laundered_as_structure_support'), + ('axiom_closure',' for axiom in axioms - {dotted(a) for a in ALLOWED}:',' for axiom in ():', 'test_unused_sorry_and_custom_axiom_closure_refuse'), + ('module_count',' if MODULE_NAME in module_counts and actual_count != module_counts[MODULE_NAME]:',' if False:', 'test_duplicate_names_and_module_counts_refuse'), + ('missing_binding',' for row in bound - observed:',' for row in ():', 'test_missing_or_changed_support_record_refuses'), + ('codegen_extras'," if extra != sum(owner==module for owner,name in inventory['extras']):",' if False:', 'test_module_system_and_codegen_extras_fail_closed'), + ('codegen_binding'," for module,name in set(inventory['extras']) ^ codegen:",' for module,name in ():', 'test_codegen_extras_are_exactly_bound_not_ignored'), + ('unsafe_partial'," if safety != 'safe':",' if False:', 'test_unsafe_or_partial_constant_refuses_even_if_bound'), + ('unsupported_kind'," if kind in ('opaque','quot'):",' if False:', 'test_owned_opaque_and_quot_never_self_admit'), +] + + +def execute(command,cwd,out,label,timeout=900): + """Retain every completed/expired process before refusing a timeout.""" + process=gate.run_process(command,cwd=cwd,timeout=timeout) + process.stdout=process.stdout.encode() if isinstance(process.stdout,str) else process.stdout + process.stderr=process.stderr.encode() if isinstance(process.stderr,str) else process.stderr + (out/(label+'.stdout')).write_bytes(process.stdout) + (out/(label+'.stderr')).write_bytes(process.stderr) + (out/(label+'.exit')).write_text(str(process.returncode)+'\n') + (out/(label+'.process.json')).write_text(json.dumps({ + 'command':[str(part) for part in command], 'cwd':str(cwd), 'exit':process.returncode, + 'timed_out':getattr(process,'timed_out',False), + 'cleanup_signals':getattr(process,'cleanup_signals',[])},indent=2)+'\n') + if getattr(process,'timed_out',False): + raise RuntimeError('process timed out; retained streams and metadata: '+label) + return process + + +def intended_failure(process, method, marker=None): + expected=('FAIL: '+method+' (').encode() + semantic=(re.search(rb'^AssertionError: ValueError not raised\r?$',process.stderr,re.M) is not None + if marker is None else marker in process.stderr) + return bool(process.returncode==1 and expected in process.stderr and b'ERROR:' not in process.stderr + and re.search(rb'^Ran 1 test in [0-9]+(?:\.[0-9]+)?s$',process.stderr,re.M) + and re.search(rb'^FAILED \(failures=1\)$',process.stderr,re.M) + and semantic and not getattr(process,'timed_out',False)) + + +def main(): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',required=True,type=Path) + parser.add_argument('--lean',required=True,type=Path,help='verified exact Lean4.34.1 binary for the actual exporter guard control') + args=parser.parse_args() + args.output=args.output.expanduser().resolve() + args.lean=args.lean.expanduser().resolve(strict=True) + args.output.mkdir(parents=True,exist_ok=False) + original=(HERE/'compiled_inventory.py').read_text() + identities={p.name:hashlib.sha256(p.read_bytes()).hexdigest() for p in HERE.iterdir() if p.is_file()} + results=[] + with tempfile.TemporaryDirectory(prefix='cap-auditor-mutants-') as temporary: + base=Path(temporary) + for mode,flags in [('normal',[]),('optimized',['-O'])]: + copied=base/mode;copied.mkdir() + for name in ('compiled_inventory.py','test_compiled_inventory.py','gate.py','lean_opaque_control.py','run_cbz_mutations.py'): + shutil.copy2(HERE/name,copied/name) + baseline=execute([sys.executable,'-B','-S']+flags+['-m','unittest','-v','test_compiled_inventory'],copied,args.output,mode+'-baseline') + if baseline.returncode!=0 or not re.search(rb'Ran [1-9][0-9]* tests',baseline.stderr) or b'\nOK\n' not in baseline.stderr: + raise RuntimeError('selected unchanged baseline is not green: '+mode) + for label,old,new,method in MUTATIONS: + if original.count(old)!=1:raise RuntimeError('nonunique mutant anchor: '+label) + (copied/'compiled_inventory.py').write_text(original.replace(old,new,1)) + process=execute([sys.executable,'-B','-S']+flags+['-m','unittest','-v','test_compiled_inventory.CompiledInventory.'+method],copied,args.output,mode+'-'+label) + killed=intended_failure(process,method) + results.append({'mode':mode,'mutation':label,'expected_test':method,'exit':process.returncode,'killed':bool(killed)}) + if not killed:raise RuntimeError('mutation not killed by intended assertion: '+mode+'/'+label) + (copied/'compiled_inventory.py').write_text(original) + positive=execute([sys.executable,'-B','-S']+flags+['lean_opaque_control.py','--lean',str(args.lean),'--output',str(args.output/(mode+'-opaque-positive'))],copied,args.output,mode+'-opaque-positive-observer') + if positive.returncode!=0:raise RuntimeError('actual unchanged opaque exporter control failed: '+mode) + anchor=' if ci.isUnsafe then "unsafe" else' + if original.count(anchor)!=1:raise RuntimeError('nonunique actual Lean mutation anchor') + (copied/'compiled_inventory.py').write_text(original.replace(anchor,' if false then "unsafe" else',1)) + mutant=execute([sys.executable,'-B','-S']+flags+['lean_opaque_control.py','--lean',str(args.lean),'--output',str(args.output/(mode+'-opaque-mutant'))],copied,args.output,mode+'-opaque-mutant-observer') + killed=intended_failure(mutant,'runTest',b'ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH') + results.append({'mode':mode,'mutation':'actual_opaque_export','exit':mutant.returncode,'killed':bool(killed)}) + if not killed:raise RuntimeError('actual exporter mutation did not reach the intended safety assertion: '+mode) + after={p.name:hashlib.sha256(p.read_bytes()).hexdigest() for p in HERE.iterdir() if p.is_file()} + if after!=identities:raise RuntimeError('production source changed during source mutations') + report={'schema':'cap.auditor-mutations.v1','threshold':'all12 named mutations in each Python mode', + 'source_sha256':identities,'mutations':results,'source_preserved':True} + (args.output/'REPORT.json').write_text(json.dumps(report,indent=2,sort_keys=True)+'\n') + print(json.dumps({'mutations':len(results),'all_killed':all(r['killed'] for r in results),'source_preserved':True})) + + +if __name__=='__main__':main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py b/frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py new file mode 100644 index 000000000..f390708b9 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py @@ -0,0 +1,238 @@ +"""Behavioral controls for the Cap-local compiled census; fixtures are synthetic.""" +import copy +import importlib.util +import inspect +import pathlib +import unittest + +HERE = pathlib.Path(__file__).resolve().parent +PACKET = HERE if (HERE / 'gate.py').is_file() else HERE.parent / 'Math-/frontiers/cap_first_exit_lean_20261002' + + +def enc(*parts): + return '/'.join('n' + str(p) if type(p) is int else 's' + p.encode().hex() for p in parts) + + +M = enc('CapFirstExit') +T = enc('CapFirstExit', 'visible') +D = enc('CapFirstExit', 'datum') +S = enc('CapFirstExit', 'CapHyp') +P = enc('CapFirstExit', 'CapHyp', 'field') +C = enc('CapFirstExit', 'CapHyp', 'mk') +R = enc('CapFirstExit', 'CapHyp', 'rec') +A = enc('CapFirstExit', 'visible', '_proof_1') +VISIBLE = {'CapFirstExit.visible': 'theorem', 'CapFirstExit.datum': 'def', 'CapFirstExit.CapHyp': 'inductive'} +ROWS = [('theorem', 'user', M, T, 'safe'), ('def', 'user', M, D, 'safe'), + ('inductive', 'user', M, S, 'safe'), ('def', 'user', M, P, 'safe'), + ('ctor', 'user', M, C, 'safe'), ('rec', 'user', M, R, 'safe'), + ('theorem', 'aux', M, A, 'safe')] +BOUND = [list(r) for r in ROWS[3:]] +RELATIONS = [('projection', P, S), ('constructor', C, S), ('recursor', R, S)] + + +def transcript(rows=None, relations=None, axioms=None, count=None, extra=0, module=M, module_system='false'): + rows = ROWS if rows is None else rows + relations = RELATIONS if relations is None else relations + axioms = [enc('propext')] if axioms is None else axioms + count = len(rows) if count is None else count + lines = ['MODULE|%s|%s|%d|%d' % (module, module_system, count, extra)] + lines += ['INV|' + '|'.join(r) for r in rows] + lines += ['REL|%s|%s|%s' % (kind, name, parent) for kind, name, parent in relations] + lines += ['AXIOMS|' + ','.join(axioms), 'CLOSURE|%d' % (len(rows) + len(axioms) + 10)] + return '\n'.join(lines) + '\n' + + +class CompiledInventory(unittest.TestCase): + def setUp(self): + path = PACKET / 'compiled_inventory.py' + self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent') + spec = importlib.util.spec_from_file_location('cap_compiled_inventory_under_test', path) + self.api = importlib.util.module_from_spec(spec) + spec.loader.exec_module(self.api) + + def reject(self, text, code, bound=None, visible=None, reported=None): + with self.assertRaises(ValueError) as ctx: + self.api.audit_inventory(text, VISIBLE if visible is None else visible, + BOUND if bound is None else bound, reported_axioms=reported) + self.assertIn(code, str(ctx.exception)) + + def test_nonempty_cap_module_and_mixed_visible_kinds_pass(self): + report = self.api.audit_inventory(transcript(), VISIBLE, BOUND) + self.assertEqual(report['declarations'], 7) + self.assertEqual(report['visible_declarations'], 3) + self.assertEqual(report['axioms'], ['propext']) + + def test_lossless_unicode_private_and_numeric_names(self): + self.assertEqual(self.api.decode('s43/sceb1/n0'), ('C', 'α', 0)) + self.assertEqual(self.api.encode(('C', 'α', 0)), 's43/sceb1/n0') + self.assertNotEqual(self.api.decode('s412e42'), self.api.decode('s41/s42')) + for name in (('_private', '.lake', 0, 'CapFirstExit', 'x'), ('CapFirstExit', 'swap₁₂')): + self.assertEqual(self.api.decode(self.api.encode(name)), name) + + def test_noncanonical_or_malformed_names_refuse(self): + for bad in ('', 's4', 'sFF', 'sff', 'n00', 'n-1', 'x12', 's41/', 's41//s42'): + with self.subTest(bad=bad), self.assertRaises(ValueError): + self.api.decode(bad) + + def test_unicode_visible_target_is_not_lost(self): + name = 'CapFirstExit.iteratedFDeriv_three_swap₁₂' + rows = [('theorem', 'user', M, enc(*name.split('.')), 'safe')] + report = self.api.audit_inventory(transcript(rows, [], []), {name: 'theorem'}, []) + self.assertEqual(report['visible_declarations'], 1) + + def test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it(self): + hidden = ('theorem', 'user', M, enc('_private', 'CapFirstExit', 0, 'CapFirstExit', 'hidden'), 'safe') + self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)]) + + def test_hidden_public_user_theorem_rejects_even_if_manifest_lists_it(self): + hidden = ('theorem', 'user', M, enc('CapFirstExit', 'hidden'), 'safe') + self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)]) + + def test_user_definition_cannot_be_laundered_as_structure_support(self): + hidden = ('def', 'user', M, enc('CapFirstExit', 'CapHyp', 'hidden'), 'safe') + self.reject(transcript(ROWS + [hidden]), 'extra_user_definition', BOUND + [list(hidden)]) + + def test_structural_relation_requires_visible_inductive_parent(self): + self.reject(transcript(relations=[('projection', P, T)] + RELATIONS[1:]), 'invalid_structural_relation') + + def test_missing_projection_relation_refuses_user_generated_support(self): + self.reject(transcript(relations=RELATIONS[1:]), 'extra_user_definition') + + def test_prop_projection_theorem_uses_actual_structure_relation(self): + rows = list(ROWS) + rows[3] = ('theorem', 'user', M, P, 'safe') + bound = [list(r) for r in rows[3:]] + report = self.api.audit_inventory(transcript(rows), VISIBLE, bound) + self.assertEqual(report['declarations'], 7) + + def test_wrong_structural_kind_refuses(self): + self.reject(transcript(relations=[('constructor', P, S)] + RELATIONS[1:]), 'invalid_structural_relation') + + def test_generated_provenance_is_bound_exactly(self): + rows = list(ROWS); rows[-1] = ('theorem', 'user', M, A, 'safe') + self.reject(transcript(rows), 'extra_user_theorem') + + def test_compiler_shaped_added_theorem_is_not_automatically_admitted(self): + hidden = ('theorem', 'aux', M, enc('CapFirstExit', 'visible', '_proof_999'), 'safe') + self.reject(transcript(ROWS + [hidden]), 'unregistered_constant') + + def test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound(self): + hidden = ('theorem', 'aux', M, enc('CapFirstExit', 'absent', '_proof_1'), 'safe') + self.reject(transcript(ROWS + [hidden]), 'unbound_auxiliary', BOUND + [list(hidden)]) + + def test_missing_or_changed_support_record_refuses(self): + self.reject(transcript(), 'unregistered_constant', BOUND[:-1]) + extra = ['def', 'aux', M, enc('CapFirstExit', 'not_present'), 'safe'] + self.reject(transcript(), 'missing_constant', BOUND + [extra]) + + def test_visible_kind_change_refuses(self): + rows = list(ROWS); rows[0] = ('def', 'user', M, T, 'safe') + self.reject(transcript(rows), 'visible_kind') + + def test_missing_visible_definition_and_structure_refuse(self): + self.reject(transcript([r for r in ROWS if r[3] != D]), 'missing_visible') + self.reject(transcript([r for r in ROWS if r[3] != S]), 'missing_visible') + + def test_duplicate_names_and_module_counts_refuse(self): + self.reject(transcript(ROWS + [ROWS[0]]), 'duplicate_name') + self.reject(transcript(count=8), 'count_mismatch') + + def test_missing_duplicate_and_extra_module_refuse(self): + self.reject(transcript().split('\n', 1)[1], 'missing_module') + self.reject('MODULE|%s|false|7|0\n' % M + transcript(), 'duplicate_module') + self.reject('MODULE|%s|false|0|0\n' % enc('CapFirstExit','Extra') + transcript(), 'unregistered_module') + + def test_module_system_and_codegen_extras_fail_closed(self): + self.reject(transcript(module_system='true'), 'module_system') + self.reject(transcript(extra=1), 'codegen_extra') + + def codegen_call(self, text, records): + self.assertIn('codegen_records', inspect.signature(self.api.audit_inventory).parameters, + 'actual IR-name admission is not implemented') + return self.api.audit_inventory(text,VISIBLE,BOUND,codegen_records=records) + + def test_actual_abel_suffix_is_admitted_only_with_exact_binding(self): + row=('theorem','aux',M,enc('CapFirstExit','visible','_abel_1_1'),'safe') + try: + report=self.api.audit_inventory(transcript(ROWS+[row]),VISIBLE,BOUND+[list(row)]) + except ValueError as error: + self.fail('observed generated Abel support is unsupported: '+str(error)) + self.assertEqual(report['declarations'],8) + self.reject(transcript(ROWS+[row]),'unregistered_constant') + + def test_codegen_extras_are_exactly_bound_not_ignored(self): + name=enc('CapFirstExit','datum','_boxed') + text=transcript(extra=1)+'EXTRA|'+M+'|'+name+'\n' + report=self.codegen_call(text,[[M,name]]) + self.assertEqual(report['codegen_entries'],1) + with self.assertRaisesRegex(ValueError,'codegen_binding'): + self.codegen_call(text,[]) + + def test_codegen_duplicate_or_wrong_names_refuse(self): + name=enc('CapFirstExit','datum','_boxed') + line='EXTRA|'+M+'|'+name+'\n' + text=transcript(extra=2)+line+line + with self.assertRaisesRegex(ValueError,'duplicate_codegen'): + self.codegen_call(text,[[M,name]]) + with self.assertRaisesRegex(ValueError,'codegen_binding'): + self.codegen_call(transcript(extra=1)+line,[[M,enc('CapFirstExit','wrong')]]) + + def test_outside_module_cannot_hide_owned_constant(self): + rows = list(ROWS); rows[-1] = ('theorem', 'aux', enc('Elsewhere'), A, 'safe') + self.reject(transcript(rows), 'outside_module') + + def test_owned_axiom_is_forbidden_even_if_approved_name_and_bound(self): + row = ('axiom', 'user', M, enc('propext'), 'safe') + self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)]) + + def test_unused_sorry_and_custom_axiom_closure_refuse(self): + for axiom in ('sorryAx', 'hiddenPremise'): + self.reject(transcript(axioms=[enc(axiom)]), 'forbidden_axiom') + + def test_target_axiom_omission_and_duplicate_axiom_refuse(self): + self.reject(transcript(axioms=[]), 'reported_axiom_omitted', reported={'x':['propext']}) + self.reject(transcript(axioms=[enc('propext')]*2), 'duplicate_axiom') + + def test_unsafe_or_partial_constant_refuses_even_if_bound(self): + for safety in ('unsafe', 'partial'): + row = ('def','aux',M,enc('CapFirstExit','unsafeHelper'),safety) + self.reject(transcript(ROWS+[row]), 'unsafe_or_partial', BOUND+[list(row)]) + + def test_owned_opaque_and_quot_never_self_admit(self): + for kind in ('opaque','quot'): + row = (kind,'aux',M,enc('CapFirstExit','unexpectedKind'),'safe') + self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)]) + + def test_private_numeric_identity_cannot_collapse(self): + rows = [('def','aux',M,enc('_private','CapFirstExit',0,'x'),'safe')] + bound = [['def','aux',M,enc('_private','CapFirstExit',1,'x'),'safe']] + visible = {'CapFirstExit.visible':'theorem'} + self.reject(transcript(ROWS[:1]+rows, [], []), 'unregistered_constant', bound, visible) + + def test_protocol_junk_missing_summary_and_malformed_record_refuse(self): + for text in ('error: broken\n'+transcript(), transcript()+'warning: ignored\n', + transcript().replace('AXIOMS|'+enc('propext')+'\n',''), + transcript().replace('INV|theorem|user|','INV|unknown|user|',1)): + with self.subTest(text=text), self.assertRaises(ValueError): + self.api.audit_inventory(text, VISIBLE, BOUND) + + def test_duplicate_summary_and_impossible_closure_refuse(self): + self.reject(transcript()+'AXIOMS|\n', 'protocol') + self.reject(transcript().replace('CLOSURE|18','CLOSURE|1'), 'impossible_closure') + + def test_binding_duplicates_target_shadowing_and_bad_records_refuse(self): + self.reject(transcript(), 'duplicate_binding', BOUND+[BOUND[0]]) + self.reject(transcript(), 'target_shadowing', BOUND+[list(ROWS[0])]) + self.reject(transcript(), 'binding', [['def','aux',M,'not-encoded','safe']]) + + def test_generated_exporter_selects_module_tables_and_emits_protocol(self): + text = self.api.inventory_source() + # Behavioral compilation of this generated program is a separate actual Lean control. + self.assertIn('import CapFirstExit\n', text) + self.assertIn('header.moduleData[idx]!', text) + self.assertIn('data.constNames', text) + self.assertIn('REL|', text) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/frontiers/cap_first_exit_lean_20261002/test_gate.py b/frontiers/cap_first_exit_lean_20261002/test_gate.py index d2c4e24f2..65ff6cf59 100644 --- a/frontiers/cap_first_exit_lean_20261002/test_gate.py +++ b/frontiers/cap_first_exit_lean_20261002/test_gate.py @@ -213,11 +213,46 @@ def run(self, command, cwd=None, **kwargs): stdout = self.versions.pop(0) if len(self.versions) > 1 else self.versions[0] elif command == ['lake', 'build']: stdout = 'Build completed successfully.\n' + build=pathlib.Path(cwd)/'.lake/build' + (build/'ir').mkdir(parents=True,exist_ok=True) + (build/'ir/CapFirstExit.setup.json').write_text('{"name":"CapFirstExit","options":{},"importArts":{}}\n') + (build/'lib/lean').mkdir(parents=True,exist_ok=True) + (build/'lib/lean/CapFirstExit.olean').write_bytes(b'synthetic object; not Lean evidence\n') + (build/'lib/lean/CapFirstExit.ilean').write_bytes(b'synthetic interface; not Lean evidence\n') + (build/'ir/CapFirstExit.c').write_bytes(b'synthetic generated code; not Lean evidence\n') + elif command[:3] == ['lake','env','lean'] and command[3].endswith('CapFirstExit.lean'): + stdout = '' # explicitly synthetic process boundary; no Lean compilation occurs elif command[:3] == ['lake', 'env', 'leanchecker']: stdout = '' elif command[:3] == ['lake', 'env', 'lean'] and command[3].endswith('Axioms.lean'): stdout = ''.join("'" + n + "' depends on axioms: [" + ', '.join(self.m['expected_axioms'][n]) + ']\n' for n in self.m['targets']) + elif command[:3] == ['lake', 'env', 'lean'] and command[3].endswith('Inventory.lean'): + # Synthetic process boundary only: actual package execution is a separate gate. + import compiled_inventory as census + module = census.encode(('CapFirstExit',)) + rows = [[kind,'user',module,census.encode(tuple(name.split('.'))),'safe'] + for name,kind in self.m['compiled_visible_kinds'].items()] + rows += self.m['compiled_inventory'] + axioms = sorted({a for values in self.m['expected_axioms'].values() for a in values}) + source = (pathlib.Path(cwd)/'CapFirstExit.lean').read_text() + if 'private theorem cbzUnlistedSorry' in source: + name = census.encode(('_private','CapFirstExit',0,'CapFirstExit','cbzUnlistedSorry')) + rows.append(['theorem','user',module,name,'safe']); axioms.append('sorryAx') + elif 'private theorem cbzUnlisted' in source: + name = census.encode(('_private','CapFirstExit',0,'CapFirstExit','cbzUnlisted')) + rows.append(['theorem','user',module,name,'safe']) + elif 'noncomputable def cbzUnused' in source: + rows.append(['def','user',module,census.encode(('CapFirstExit','cbzUnused')),'safe']); axioms.append('sorryAx') + elif 'name := `CapFirstExit.path_meets_frontier._proof_999' in source: + rows.append(['theorem','aux',module,census.encode(('CapFirstExit','path_meets_frontier','_proof_999')),'safe']) + lines = ['MODULE|'+module+'|false|'+str(len(rows))+'|'+str(len(self.m['compiled_codegen_inventory']))] + lines += ['EXTRA|'+'|'.join(row) for row in self.m['compiled_codegen_inventory']] + lines += ['INV|'+'|'.join(row) for row in rows] + lines += ['REL|'+'|'.join(row) for row in self.m['compiled_structural_relations']] + lines += ['AXIOMS|'+','.join(census.encode(tuple(a.split('.'))) for a in sorted(set(axioms))), + 'CLOSURE|'+str(len(rows)+len(set(axioms))+100)] + stdout = '\n'.join(lines)+'\n' elif command[:3] == ['lake', 'env', 'lean'] and pathlib.Path(command[3]).name.startswith('Control_'): if self.during is not None: during, self.during = self.during, None @@ -248,7 +283,7 @@ def setUp(self): def execute(self, versions=(RELEASE,), during=None): fake = FakeLake(self.m, versions, during) with mock.patch.object(gate, 'ROOT', self.packet), mock.patch.object(gate, 'REPO', self.repo), \ - mock.patch.object(subprocess, 'run', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output): + mock.patch.object(gate, 'run_process', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output): receipt = gate.execute(self.m) return fake, receipt @@ -274,12 +309,20 @@ def test_receipt_records_both_observations(self): _, receipt = self.execute() old_keys = {'scientific_effect', 'module', 'lean_version', 'toolchain', 'dependency_revisions', 'source_sha256', 'build', 'leanchecker', 'dependency_worktrees', 'axioms', 'negative_controls', 'alignment_review'} - self.assertEqual(set(receipt), old_keys | {'observations'}) + self.assertEqual(set(receipt), old_keys | {'observations','compiled_inventory'}) self.assertEqual(receipt['lean_version'], RELEASE) self.assertEqual(receipt['dependency_revisions'], self.m['dependency_revisions']) self.assertEqual(receipt['source_sha256'], {e['path']: e['sha256'] for e in self.m['files']}) self.assertEqual(receipt['negative_controls'], dict.fromkeys(('sorry', 'custom_axiom', 'native_decide'), 'REJECTED')) self.assertEqual((receipt['scientific_effect'], receipt['alignment_review']), ('NONE', 'NOT_CLAIMED')) + admission=receipt['compiled_inventory']['admission_controls'] + self.assertEqual(set(admission),{'private_theorem','private_sorry','unused_sorry_def','range_less'}) + for control in admission.values(): + self.assertIn('compiler_setup_sha256',control) + self.assertIn('output_objects',control) + self.assertRegex(control['compiler_setup_sha256'],r'^[0-9a-f]{64}$') + self.assertTrue(control['output_objects']) + self.assertIn('.lake/build/lib/lean/CapFirstExit.olean',control['output_objects']) obs = receipt['observations'] self.assertEqual(set(obs), {'preflight', 'final'}) digest = gate.source_identity(self.m, self.packet, self.repo) @@ -295,7 +338,7 @@ def test_preflight_wrong_commit_rejected_before_any_build(self): wrong = RELEASE.replace(COMMIT, '0123456789abcdef0123456789abcdef01234567') fake = FakeLake(self.m, [wrong]) with mock.patch.object(gate, 'ROOT', self.packet), mock.patch.object(gate, 'REPO', self.repo), \ - mock.patch.object(subprocess, 'run', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output): + mock.patch.object(gate, 'run_process', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output): with self.assertRaises(ValueError) as ctx: gate.execute(self.m) self.assertIn('running Lean is not the pinned release', str(ctx.exception)) @@ -320,7 +363,7 @@ def test_main_execute_entry(self): fake = FakeLake(self.m, versions) stdout = io.StringIO() with mock.patch.object(gate, 'ROOT', self.packet), mock.patch.object(gate, 'REPO', self.repo), \ - mock.patch.object(subprocess, 'run', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output), \ + mock.patch.object(gate, 'run_process', fake.run), mock.patch.object(subprocess, 'check_output', fake.check_output), \ mock.patch.object(sys, 'argv', ['gate.py', '--execute']), contextlib.redirect_stdout(stdout): if passed: gate.main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py b/frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py new file mode 100644 index 000000000..db623e30f --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py @@ -0,0 +1,67 @@ +"""The kill classifier must distinguish intended assertions from failed execution.""" +import pathlib +import shutil +import subprocess +import sys +import tempfile +import types +import unittest +import run_cbz_mutations as runner + + +def result(method='expected', count='1 test', status=1, extra=''): + text=('FAIL: '+method+' (controls.Case)\nAssertionError: ValueError not raised\n'+extra + +'Ran '+count+' in 0.001s\nFAILED (failures=1)\n') + return types.SimpleNamespace(returncode=status,stderr=text.encode()) + + +class MutationAccounting(unittest.TestCase): + def test_intended_assertion_is_counted(self): + self.assertTrue(runner.intended_failure(result(),'expected')) + + def test_foreign_assertion_is_not_a_kill(self): + self.assertFalse(runner.intended_failure(result(method='unrelated'),'expected')) + + def test_zero_and_multiple_collections_are_not_single_control_kills(self): + for count in ('0 tests','10 tests','11 tests'): + with self.subTest(count=count): + self.assertFalse(runner.intended_failure(result(count=count),'expected')) + + def test_process_error_or_success_is_not_a_kill(self): + for status in (0,2,-9): + self.assertFalse(runner.intended_failure(result(status=status),'expected')) + + def test_import_or_test_error_is_not_a_kill(self): + self.assertFalse(runner.intended_failure(result(extra='ERROR: unrelated import failure\n'),'expected')) + + def test_actual_exporter_kill_requires_its_safety_assertion_marker(self): + self.assertFalse(runner.intended_failure(result(),'expected',b'ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH')) + + def test_same_method_wrong_cause_is_not_a_kill(self): + here = pathlib.Path(__file__).resolve().parent + with tempfile.TemporaryDirectory() as temporary: + copied = pathlib.Path(temporary) + for name in ('compiled_inventory.py', 'test_compiled_inventory.py', 'gate.py'): + shutil.copy2(here / name, copied / name) + path = copied / 'compiled_inventory.py' + original = path.read_text() + anchor = " if kind == 'axiom':\n flag('package_axiom', name)" + self.assertEqual(original.count(anchor), 1) + path.write_text(original.replace(anchor, + " if kind == 'axiom':\n raise ValueError('FOREIGN_PROTOCOL_FAILURE_BEFORE_EXPECTED_REJECTION')", 1)) + method = 'test_owned_axiom_is_forbidden_even_if_approved_name_and_bound' + process = subprocess.run([sys.executable, '-B', '-S', '-m', 'unittest', '-v', + 'test_compiled_inventory.CompiledInventory.' + method], cwd=copied, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=10) + self.assertEqual(process.returncode, 1) + self.assertIn(b"'package_axiom' not found in 'FOREIGN_PROTOCOL_FAILURE", process.stderr) + self.assertFalse(runner.intended_failure(process, method), + 'wrong-cause rejection was counted as a guard-bypass kill') + + def test_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill(self): + process = result() + process.stderr = process.stderr.replace(b'ValueError not raised', b'foreign assertion') + self.assertFalse(runner.intended_failure(process, 'expected')) + + +if __name__=='__main__':unittest.main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_process_retention.py b/frontiers/cap_first_exit_lean_20261002/test_process_retention.py new file mode 100644 index 000000000..899566538 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_process_retention.py @@ -0,0 +1,135 @@ +"""Actual bounded Python processes exercise retention; no Lean build is run.""" +import contextlib +import inspect +import io +import json +import pathlib +import subprocess +import sys +import tempfile +import unittest +from unittest import mock + +import gate +import lean_opaque_control as opaque +import run_cbz_mutations as runner + + +class ProcessRetention(unittest.TestCase): + def output(self): + temporary = tempfile.TemporaryDirectory() + self.addCleanup(temporary.cleanup) + return pathlib.Path(temporary.name) + + def require_bounded_api(self): + self.assertIn('timeout', inspect.signature(runner.execute).parameters, + 'runner has no bounded-retention timeout argument') + + def test_relative_opaque_cli_paths_are_resolved_before_child_cwd(self): + root=self.output();fake=root/'fake-lean' + module='s436170466972737445786974' + hazard=module+'/s6f706171756548617a617264' + protocol='MODULE|'+module+'|false|1|0\nINV|opaque|user|'+module+'|'+hazard+'|unsafe\nAXIOMS|\nCLOSURE|1\n' + fake.write_text('#!'+sys.executable+'\nimport sys\n' + 'if "--version" in sys.argv:\n print("Lean (version 4.34.1, unit-fixture, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)")\n' + 'elif "Inventory.lean" in sys.argv:\n print('+repr(protocol)+',end="")\n') + fake.chmod(0o755) + result=subprocess.run([sys.executable,'-B','-S',str(pathlib.Path(opaque.__file__).resolve()), + '--lean','./fake-lean','--output','relative-output'],cwd=root,stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=10) + self.assertEqual(result.returncode,0,result.stderr.decode()) + metadata=json.loads((root/'relative-output/compile.process.json').read_text()) + self.assertTrue(pathlib.Path(metadata['cwd']).is_absolute()) + self.assertIn('LEAN_PATH='+str((root/'relative-output').resolve()),metadata['command']) + self.assertEqual(json.loads((root/'relative-output/RESULT.json').read_text())['tests'],1) + + def test_success_and_nonzero_exit_retain_separate_streams_and_metadata(self): + for status in (0, 7): + with self.subTest(status=status): + out = self.output() + command = [sys.executable, '-B', '-S', '-c', + 'import sys;print("out");print("err",file=sys.stderr);sys.exit(' + str(status) + ')'] + process = runner.execute(command, out, out, 'observed') + self.assertEqual(process.returncode, status) + self.assertEqual((out/'observed.stdout').read_bytes(), b'out\n') + self.assertEqual((out/'observed.stderr').read_bytes(), b'err\n') + self.assertTrue((out/'observed.process.json').is_file(), 'process metadata was not retained') + metadata = json.loads((out/'observed.process.json').read_text()) + self.assertEqual(metadata['exit'], status) + self.assertFalse(metadata['timed_out']) + + def test_timeout_retains_partial_streams_and_cleans_owned_child(self): + self.require_bounded_api() + out = self.output() + script = ('import subprocess,sys,time\n' + 'child=subprocess.Popen([sys.executable,"-B","-S","-c","import time;time.sleep(60)"])\n' + 'print("CHILD="+str(child.pid),flush=True)\n' + 'print("partial-stderr",file=sys.stderr,flush=True)\n' + 'time.sleep(60)\n') + with self.assertRaisesRegex(RuntimeError, 'timed out'): + runner.execute([sys.executable,'-B','-S','-c',script], out, out, 'timeout', timeout=0.3) + stdout = (out/'timeout.stdout').read_text() + self.assertIn('CHILD=', stdout) + self.assertIn('partial-stderr', (out/'timeout.stderr').read_text()) + metadata = json.loads((out/'timeout.process.json').read_text()) + self.assertTrue(metadata['timed_out']) + self.assertIn('SIGTERM', metadata['cleanup_signals']) + child = stdout.split('CHILD=',1)[1].splitlines()[0] + observed = subprocess.run(['ps','-p',child,'-o','stat='], stdout=subprocess.PIPE, text=True) + self.assertTrue(observed.returncode != 0 or observed.stdout.strip().startswith('Z')) + + def test_timeout_that_exits_zero_is_still_refused_after_retention(self): + self.require_bounded_api() + out = self.output() + script = ('import signal,sys,time\n' + 'signal.signal(signal.SIGTERM,lambda *_:sys.exit(0))\n' + 'print("before-timeout",flush=True)\ntime.sleep(60)\n') + with self.assertRaisesRegex(RuntimeError, 'timed out'): + runner.execute([sys.executable,'-B','-S','-c',script], out, out, 'zero', timeout=0.3) + metadata = json.loads((out/'zero.process.json').read_text()) + self.assertTrue(metadata['timed_out']) + self.assertEqual(metadata['exit'], 0) + self.assertEqual((out/'zero.stdout').read_bytes(), b'before-timeout\n') + self.assertEqual((out/'zero.stderr').read_bytes(), b'') + + def opaque_timeout_attempt(self, version_delay): + self.assertTrue(hasattr(opaque, 'execute'), 'opaque control bypasses the retained process helper') + out = self.output()/'attempt' + fake = out.parent/'fake-lean' + fake.write_text('#!' + sys.executable + '\nimport sys,time\n' + 'if "--version" in sys.argv:\n' + ' time.sleep(' + repr(version_delay) + ')\n' + ' print("Lean (version 4.34.1, control-only, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)")\n' + 'else:\n print("fixture-partial",flush=True);time.sleep(60)\n') + fake.chmod(0o755) + real_execute = runner.execute + def bounded(command, cwd, output, label, **kwargs): + # Expire the deliberately sleeping compile, after a successful probe. + # Version startup latency must not be counted as a compile timeout. + return real_execute(command, cwd, output, label, + timeout=2 if label == 'compile' else 10) + expected_failure = io.StringIO() + with mock.patch.object(sys,'argv',['lean_opaque_control.py','--lean',str(fake),'--output',str(out)]), \ + mock.patch.object(opaque,'execute',side_effect=bounded), \ + contextlib.redirect_stderr(expected_failure): + self.assertEqual(opaque.main(), 1) + self.assertIn('process timed out', expected_failure.getvalue()) + version = json.loads((out/'version.process.json').read_text()) + self.assertEqual(version['exit'], 0, 'fixture did not complete its version phase') + self.assertFalse(version['timed_out'], 'fixture expired before compilation') + self.assertIn('fixture-partial', (out/'compile.stdout').read_text()) + self.assertTrue(json.loads((out/'compile.process.json').read_text())['timed_out']) + receipt = json.loads((out/'RESULT.json').read_text()) + self.assertFalse(receipt['success']) + self.assertEqual(receipt['errors'], 1) + + + def test_opaque_control_timeout_uses_retention_and_writes_failure_receipt(self): + self.opaque_timeout_attempt(version_delay=0) + + def test_delayed_version_is_not_mistaken_for_compile_timeout(self): + # Greater than the old all-phases 0.3s deadline, with no Lean dependency. + self.opaque_timeout_attempt(version_delay=0.6) + + +if __name__ == '__main__': + unittest.main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py b/frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py new file mode 100644 index 000000000..1a6860270 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py @@ -0,0 +1,44 @@ +"""Actual process and evidence-boundary controls; no Lean package build.""" +import pathlib +import subprocess +import sys +import tempfile +import unittest +from unittest import mock + +import gate +from test_gate import packet_copy + + +class RuntimeBoundary(unittest.TestCase): + def test_lake_symlink_cannot_move_or_remove_external_evidence(self): + repo,packet=packet_copy(self) + with tempfile.TemporaryDirectory() as temporary: + external=pathlib.Path(temporary) + (external/'evidence').mkdir();(external/'evidence/sentinel').write_bytes(b'preserve') + (packet/'.lake').symlink_to(external,target_is_directory=True) + with mock.patch.object(gate,'ROOT',packet),mock.patch.object(gate,'REPO',repo), \ + mock.patch.object(gate,'observe',side_effect=ValueError('probe boundary')): + with self.assertRaises(ValueError):gate.execute({}) + self.assertTrue((external/'evidence/sentinel').is_file(),'symlink target evidence was moved before refusal') + self.assertEqual((external/'evidence/sentinel').read_bytes(),b'preserve') + + def test_timeout_retains_streams_and_cleans_owned_descendants(self): + self.assertTrue(hasattr(gate,'run_process'),'owned process cleanup implementation missing') + script=('import subprocess,sys,time\n' + 'p=subprocess.Popen([sys.executable,"-c","import time;time.sleep(60)"])\n' + 'print("CHILD="+str(p.pid),flush=True)\n' + 'print("partial-error",file=sys.stderr,flush=True)\n' + 'time.sleep(60)\n') + process=gate.run_process([sys.executable,'-B','-S','-c',script],cwd=pathlib.Path.cwd(),timeout=0.3) + self.assertTrue(process.timed_out) + self.assertIn('CHILD=',process.stdout) + self.assertIn('partial-error',process.stderr) + self.assertNotEqual(process.returncode,0) + pid=process.stdout.split('CHILD=',1)[1].splitlines()[0] + observed=subprocess.run(['ps','-p',pid,'-o','stat='],stdout=subprocess.PIPE,text=True) + self.assertTrue(observed.returncode!=0 or observed.stdout.strip().startswith('Z'), + 'owned descendant still running after timeout cleanup') + + +if __name__=='__main__':unittest.main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_source_admission.py b/frontiers/cap_first_exit_lean_20261002/test_source_admission.py new file mode 100644 index 000000000..453de7565 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_source_admission.py @@ -0,0 +1,63 @@ +"""Actual Cap source admission regression; no Lean execution in these tests.""" +import hashlib +import json +import pathlib +import unittest + +import gate +from test_gate import packet_copy + + +class SourceAdmission(unittest.TestCase): + def mutate(self, injection): + repo, packet = packet_copy(self) + source = packet / 'CapFirstExit.lean' + source.write_bytes(source.read_bytes() + injection.encode()) + manifest = json.loads((packet / 'MANIFEST.json').read_text()) + for row in manifest['files']: + if row['path'] == 'CapFirstExit.lean': + row['bytes'] = len(source.read_bytes()) + row['sha256'] = hashlib.sha256(source.read_bytes()).hexdigest() + (packet / 'MANIFEST.json').write_text(json.dumps(manifest, ensure_ascii=False) + '\n') + return repo, packet + + def test_digest_rebound_private_theorem_is_rejected(self): + repo, packet = self.mutate('\nnamespace CapFirstExit\nprivate theorem cbzUnlisted : True := by trivial\nend CapFirstExit\n') + with self.assertRaisesRegex(ValueError, 'forbidden tokens'): + gate.source_check(packet, repo) + + def test_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding(self): + repo, packet = self.mutate('\nnamespace CapFirstExit\ndef unlistedDatum : Nat := 0\nend CapFirstExit\n') + with self.assertRaisesRegex(ValueError, 'declared targets differ'): + gate.source_check(packet, repo) + + def test_forged_visible_kind_map_is_rejected(self): + repo, packet = packet_copy(self) + m = json.loads((packet/'MANIFEST.json').read_text()) + m['compiled_visible_kinds']['CapFirstExit.CapHyp'] = 'theorem' + (packet/'MANIFEST.json').write_text(json.dumps(m,ensure_ascii=False)+'\n') + with self.assertRaisesRegex(ValueError, 'visible declaration kinds'): + gate.source_check(packet,repo) + + def test_absent_actual_census_cannot_self_qualify(self): + m = gate.source_check() + m['compiled_inventory'] = None + with self.assertRaisesRegex(ValueError, 'UNQUALIFIED'): + gate.compiled_contract(m, gate.compiled_implementation()) + + def test_binding_observation_must_match_original_proof_identity(self): + m=gate.source_check() + m['compiled_inventory_observation']['proof_sha256']='0'*64 + with self.assertRaisesRegex(ValueError,'proof identity'): + gate.compiled_contract(m,gate.compiled_implementation()) + + def test_noncache_nested_source_is_not_silently_omitted(self): + repo, packet = packet_copy(self) + nested = packet/'extra'/'hidden.py' + nested.parent.mkdir(); nested.write_text('extra = 1\n') + with self.assertRaisesRegex(ValueError, 'packet tree differs'): + gate.source_check(packet,repo) + + +if __name__ == '__main__': + unittest.main() diff --git a/frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py b/frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py new file mode 100644 index 000000000..98443d110 --- /dev/null +++ b/frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py @@ -0,0 +1,45 @@ +"""Actual producer timing out and handling SIGTERM with exit0 must still refuse.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest +from unittest import mock + +HERE=Path(__file__).resolve().parent +PACKET=HERE if (HERE/'gate.py').is_file() else HERE.parent/'Math-/frontiers/cap_first_exit_lean_20261002' +spec=importlib.util.spec_from_file_location('cap_gate_timeout_review',PACKET/'gate.py') +gate=importlib.util.module_from_spec(spec);spec.loader.exec_module(gate) + + +class TimeoutExitZero(unittest.TestCase): + def test_timed_out_zero_exit_is_refused_after_recording_streams(self): + configured=os.environ.get('CBZ_CONTROL_OUTPUT') + if configured: + out=Path(configured);out.mkdir(parents=True,exist_ok=False) + else: + temporary=tempfile.TemporaryDirectory(prefix='cap-timeout-zero-') + self.addCleanup(temporary.cleanup);out=Path(temporary.name) + producer=('import signal,sys,time\n' + 'signal.signal(signal.SIGTERM,lambda *_:sys.exit(0))\n' + 'print("partial-before-timeout",flush=True)\n' + 'time.sleep(60)\n') + real=gate.run_process + def bounded(command,cwd,timeout):return real(command,cwd,timeout=0.3) + rejected=False + with mock.patch.object(gate,'run_process',side_effect=bounded): + try: + gate.run([sys.executable,'-B','-S','-c',producer],'term_zero',out,cwd=out,pure_stream=True) + except ValueError: + rejected=True + record=json.loads((out/'term_zero.process.json').read_text()) + self.assertTrue(record['timed_out']) + self.assertEqual(record['exit'],0) + self.assertIn('partial-before-timeout',(out/'term_zero.stdout').read_text()) + self.assertEqual((out/'term_zero.stderr').read_bytes(),b'') + self.assertTrue(rejected,'gate accepted a timed-out producer merely because SIGTERM handler exited0') + + +if __name__=='__main__':unittest.main() diff --git a/reviews/cap_compiled_admission_cbz_20261030/DECISIONS.md b/reviews/cap_compiled_admission_cbz_20261030/DECISIONS.md new file mode 100644 index 000000000..865929447 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/DECISIONS.md @@ -0,0 +1,41 @@ +# Cap admission repair decisions + +[2026-10-30T00:08:00Z] [phase2] [layerA] Preserve all original Cap proof bytes,152 visible declarations,38 original controls, three original negative controls and exact dependency/runtime policy. Reuse the compiled census protocol with Cap-specific admission; no self-populating binding. Real observed baseline RED precedes changes. Reversible private candidate only. Evidence ../cbz-cap-admission-red-20261030T000328Z/RECEIPT.json. + +[REPLACE_ACTUAL_TIMESTAMP] [phase2] [layerA] Correction: the earlier00:08:00Z text and candidate directory T000800Z were planned opaque labels, not observed creation timestamps. No actual creation time is asserted by those labels. All152 original statement premises remain unchanged; gate repair does not imply parent or application closure. + +[2026-10-30T00:07:15Z] [phase2] [layerA] Timestamp correction, observed by clock tool: directory T000800Z and first00:08:00Z entry are planned opaque labels, not observed creation times. The immediately preceding REPLACE_ACTUAL_TIMESTAMP marker is a clerical placeholder, not a timestamp claim. This entry supplies the actual observed correction time. No proof or parent/application closure is inferred. + +[2026-10-30T00:24:24Z] [phase2] [layerA] Actual unsafe-opaque fixture compiled and exported successfully, then failed the safety assertion because exporter marked opaque/user/safe. Repair uses pinned ConstantInfo.isUnsafe; the same actual fixture then passed. Original raw streams and pre-fix source/program hashes remain evidence/opaque-exporter-before-fix and after-fix. Exact original observation timestamps were not separately recorded. + +[2026-10-30T00:24:24Z] [phase2] [layerA] Pinned Lean structure fixture established generated Prop projections are theorem/user, so a blanket user-theorem refusal would reject legitimate support. Permit only exact environment-reported projections of the visible CapHyp inductive with fixed observed support bindings; other hidden user theorems still refuse even if manifest-listed. Exact fixture observation timestamp not separately recorded. + +[2026-10-30T00:24:24Z] [phase2] [layerA] Actual first Cap census observed206 owned constants,54 nonvisible support records,143 user theorem constants including5 generated projections,8 IR extras and47659 dependency closure, with only the declared3 imported axioms. It exposed3 legitimate _abel auxiliaries and the need for explicit IR-name bindings. Added actual-derived positive and negative controls, canonical EXTRA records, exact IR binding/count comparisons and the narrowly bound Abel suffix. No production binding was populated from synthetic data. + +[2026-10-30T00:24:24Z] [phase2] [layerC] Scope correction: the extra --fresh kernel observer replayed all imported Mathlib rather than the requested Cap packet/closure. At recorded2026-10-30T00:19:45.988158Z, verified only ownedPID45146 and SIGTERMed it; lake returned143 and observer reapedexit1. Preserve evidence/interrupted-full-import-kernel.json and actual-census-v1 raw streams/RUNS. This interrupted experiment is neither PASS nor failed Cap mathematics. + +[2026-10-30T00:24:24Z] [phase2] [layerC] A separate leanchecker --help probe unexpectedly executed checking because this CLI has no help handler. At recorded2026-10-30T00:23:12.342809Z verified only ownedPID52383, SIGTERMed and reaped143; evidence/interrupted-help-probe.json retains the command and scope correction. Assign no verification credit. + +[2026-10-30T00:24:24Z] [phase2] [layerA] Runtime owner delivered verified official Darwin Lean4.34.1 release5045d0056413266e57c625dcd7c365b10e377c52. Candidate-only Lake clones resolved exact9 dependency commits; official cache tool unpacked8907 cached objects. Unchanged Cap build completed8925 jobs with Cap compilation288s and empty stderr. No global or parent theorem closure is inferred. + +[2026-10-30T00:24:24Z] [phase2] [handoff] Root independent review identified unsafe opaque export, timeout returncode0 acceptance after SIGTERM, stale codegen mutation anchor and missing exact IR-binding mutation. Unsafe opaque defect is repaired with actual red/green evidence. Two actual process/evidence boundary controls also observed red then green for .lake symlink target preservation and owned timeout descendant cleanup. Timeout-exit0 and current mutation-runner follow-ups are queued until frozen observerV2 terminates; no approval wait. + +[2026-10-30T00:24:24Z] [phase2] [layerA] ObserverV2 uses only retained default leanchecker CapFirstExit scope, complete actual census includingIR names, exact dependency observations and before/after source/runtime identity. Current source remains frozen while it runs. Production compiled bindings and final gate qualification remain absent pending actual result inspection. + +[2026-10-30T00:24:24Z] [phase2] [layerA] Test provenance: first29 missing-module assertions establish implementation absence only, not individual guard reachability. Named consumed-source mutants and actual compiler controls establish their own finite coverage. The file named accounting-red.stderr actually records6 passing existing-behavior tests; it is not red bug evidence. All38 original controls remain; additive process-boundary/receipt fixture adaptation is documented. Original Cap proof remains326607 bytes with SHA256040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0. + +[2026-10-30T00:40:11Z] [phase2] [layerA] Current clock observed before this append. ObserverV2 completed with retained default target-module kernel replay against imports and actual census; its discovery result supplies fixed54 support/8IR bindings only. Final packet bytes are frozen in FROZEN_SOURCE.json:20 files, all hashes and Git blob IDs reread equal. No packet file was changed during the final run. + +[2026-10-30T00:40:11Z] [phase2] [layerA] Integrated the independently reviewed runner/opaque timeout-retention and strict semantic mutation classifier patch after verifying its exact4file before/after bindings. Added the timeout-SIGTERM-exit0 refusal, current exact-codegen anchor and symmetric-difference mutant, setup/output-object bindings, and relative CLI path normalization. Root actual relative-output RED failed due import path before safety assertion; final workflow-equivalent relative-output runner now succeeds. Existing38 controls retained. Earlier22-mutation counts are historical only. + +[2026-10-30T00:40:11Z] [phase2] [layerA] Final local CPython3.9.6 controls observed94/94 tests in normal and optimized mode, actual exit0, no errors/skips. Current named auditor controls observed24/24 killed,12 per mode, including actual pinned-Lean unsafe-opaque guard and exact semantic failure classification; runner actual exit0 using --output .lake/auditor-selftest. Raw logs and complete REPORT.json are bound by evidence/QUALIFICATION_CURRENT.json. This finite component result is not full Math/federation regression or scientific acceptance. + +[2026-10-30T00:40:11Z] [phase2] [handoff] Parent independently verified all20 frozen source blobs on current complete Math tree and owns draft publication/integration. Actual final gate is still running from00:36:33.152741Z; fresh8925-job build exited0 at00:39:25.596219Z with empty stderr; default kernel replay is active. No final repaired-gate, package-admission, parent closure or merge claim yet. Source remains frozen while execution proceeds. + +[2026-10-30T00:44:39Z] [phase2] [layerA] Independent final-copy94-test review observed an ERROR: compile.stdout absent in opaque timeout fixture. Parent deterministic retained-phase reproduction /tmp/cbz-cap-phase-timeout-repro-_xs04ar9/OBSERVATION.json established delayedversion0.6s exceeded the fixture's all-phases0.3s deadline, so it expired before compile. This is a fixture phase defect, not a Cap mathematical counterexample or intended mutation kill. Parent raw94-test failure remains /tmp/cbz-cap-root-final-review-w50dmjil/normal.stderr. + +[2026-10-30T00:44:39Z] [phase2] [layerB] Parent explicitly redirected resources from old-cut full local gate to fixture repair and hosted qualification. Verified owned active axioms group81440, SIGTERM at recorded00:42:15.564008Z; run_process retained both empty partial streams, exit-15 and command/time metadata; outer30381 reapedexit1. Verified30381/81440/82160 absent. Successful8925-job build and default owned kernel replay retained as interrupted V1 evidence, no final gate PASS or failed Cap claim. Receipt evidence/interrupted-final-gate-fixture-scope.json; prior source/patch FROZEN_SOURCE_V1_INTERRUPTED.json and FINAL_SOURCE_V1_INTERRUPTED.patch. + +[2026-10-30T00:44:39Z] [phase2] [layerA] Repaired only test_process_retention.py and its manifest byte/hash binding. Short compile timeout now2s, other phases10s; require retained versionexit0/nottimedout before all original compile timeout/partialstream/failure-receipt assertions. Added deterministic delayed-version0.6s case. Focused2tests passed, then95tests eachnormal/optimized actualexit0, and24/24 current auditor mutations actualexit0 through relative .lake/auditor-selftest-v2. Original38 controls and all proof/exporter/gate/runner bytes unchanged. Raw paths/hashes evidence/QUALIFICATION_V2.json. + +[2026-10-30T00:44:39Z] [phase2] [handoff] FROZEN_SOURCE_V2.json binds20exactfiles. Only fixture+manifest differ from prior freeze. Parent owns current-Math composition, draft publication and hosted full --execute qualification. No local full restart requested while hosted is suitable. FINAL_SOURCE_V2.patch applied to an untouched original-data copy with actualpatch exit0 and20/20 exacthash equality; evidence/PATCH_V2_ROUNDTRIP.json. Final repaired package admission, parent acceptance, global Math regression and scientific acceptance remain unclaimed. diff --git a/reviews/cap_compiled_admission_cbz_20261030/EVIDENCE_INDEX.json b/reviews/cap_compiled_admission_cbz_20261030/EVIDENCE_INDEX.json new file mode 100644 index 000000000..c5d57c566 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/EVIDENCE_INDEX.json @@ -0,0 +1,153 @@ +{ + "schema": "cap.review-evidence-index.v1", + "created_utc": "2026-10-30T00:35:30.610516+00:00", + "master_sha256": "83ac6552fc6406e95213a1cfd6e8636095215e11aac6e3db473cd42c22275a8b", + "source_base": "9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966", + "proof_sha256": "040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0", + "files": [ + { + "path": "root-review.json", + "bytes": 6035, + "sha256": "4f6a27491432a65731102a8f39ef22b1f7bd3c6445cda465220d0d93d8747ed4", + "records": 2 + }, + { + "path": "independent-review.json", + "bytes": 29732, + "sha256": "bb94d4c634368c56230575ef58ce826ba98539b448b47186a2a1dcb92a99b77b", + "records": 7 + }, + { + "path": "relative-cli-red.json", + "bytes": 6996, + "sha256": "3c3f7d439939fe95c6f7c6f3117be233055c68377b10a83a6eba27081cc071e9", + "records": 9 + }, + { + "path": "workflow-review.json", + "bytes": 31049, + "sha256": "163a19190e64541c3f196d250580c0907c63724115c8e4968bd4d0ae0f7f3912", + "records": 9 + }, + { + "path": "actual-discovery-v2.json", + "bytes": 44597, + "sha256": "0a5db9dc1cf8193042086cfdedd50fd9358dd2995dac294d41209c19be2dbd90", + "records": 9 + }, + { + "path": "baseline-source-red.json", + "bytes": 13380, + "sha256": "5a18ed49653f1c775fffba15337c3389c6a1e57b599608d2806836c70ef8d837", + "records": 2 + }, + { + "path": "historical-attempts-01.json", + "bytes": 45229, + "sha256": "85c95f0f2d1e877f8f070167e65d0b3aebe2cfc47d539e7d381e44a5bce82189", + "records": 18 + }, + { + "path": "historical-attempts-02.json", + "bytes": 36225, + "sha256": "38c9fa252243c8ea4789a1ed84759d456924ef9c1be9c7cc5438345e9c79319b", + "records": 13 + }, + { + "path": "historical-attempts-03.json", + "bytes": 38413, + "sha256": "f09917f93afe595bba0a3a98f189554933d8b95e145eb4eb23d8c1d149d3bc50", + "records": 5 + }, + { + "path": "historical-attempts-04.json", + "bytes": 37672, + "sha256": "12875b3b7a2c477f3243be6a8cdc3e090dc713b3135b007d899e0e2e764b9fe8", + "records": 2 + }, + { + "path": "historical-attempts-05.json", + "bytes": 8564, + "sha256": "0d389b8ab32bab9fcd04f1005e78c1aeb4aa17c8e7081d1f10b6d6da2e291ce5", + "records": 1 + }, + { + "path": "frozen-qualification-01.json", + "bytes": 45569, + "sha256": "ac1a78ac025d491a16fed23f90592db81436aca6a0294424665d7bea46c98b74", + "records": 20 + }, + { + "path": "frozen-qualification-02.json", + "bytes": 46401, + "sha256": "80a5a8dc9135a045cb3ebde8d5f539a6560b88e6ae378c3a2bbf08fe1af99dc6", + "records": 48 + }, + { + "path": "frozen-qualification-03.json", + "bytes": 43489, + "sha256": "66ae18e1669fe8e3d175ef4ea4ded13071742ee7a86e9dd98be4d2aafe02ebcf", + "records": 67 + }, + { + "path": "frozen-qualification-04.json", + "bytes": 46646, + "sha256": "7386ef24049158ea71065e12807aac130a19f410e7e8aa82bdb78b5f276a3ae3", + "records": 44 + }, + { + "path": "frozen-qualification-05.json", + "bytes": 4750, + "sha256": "dbc68203af14fe78bed15fab69a52d2c5ffdfed9b584966a49f37137c8232e06", + "records": 7 + }, + { + "path": "fixture-phase-diagnosis.json", + "bytes": 32490, + "sha256": "5796b80f999a922e13c95c48dd3725f5169b6ba749459386f43115eb65b03382", + "records": 16 + }, + { + "path": "v2-qualification-01.json", + "bytes": 40697, + "sha256": "d93a5585b2c1c7c9e0d543ced69260261e897054968dd1692560f3045ffeb823", + "records": 11 + }, + { + "path": "v2-qualification-02.json", + "bytes": 43942, + "sha256": "eb96f90e84525cbc1b7deab3a13006f1243abae080dca4d9c25f0f41edb5979c", + "records": 40 + }, + { + "path": "v2-qualification-03.json", + "bytes": 46074, + "sha256": "d6eb2f5c63c5adfeed1cdd345b4d42908e609950a3e49243a83cb07aef1069d2", + "records": 59 + }, + { + "path": "v2-qualification-04.json", + "bytes": 38314, + "sha256": "928d9390bf5a985e50a278e087cfb488d488c4d09774f75d0f49509c18f728bd", + "records": 47 + }, + { + "path": "v2-qualification-05.json", + "bytes": 39469, + "sha256": "d50f88cd934a157fe145c22318e5d5b11c17bde4e079e9c83d50a8d94dfe491e", + "records": 36 + }, + { + "path": "v2-qualification-06.json", + "bytes": 13285, + "sha256": "267ccea8436b08695a633b67c4ea082f2e3f5b5f22e9ab68c1afe84b5ea9789a", + "records": 21 + } + ], + "final_qualification": "V2_PYTHON95_PER_MODE_AND_AUDITOR24_ONLY; FULL_PACKAGE_PENDING_HOSTED", + "historical_append_utc": "2026-10-30T00:36:23.936412+00:00", + "frozen_qualification_appended_utc": "2026-10-30T00:39:22.493094+00:00", + "fixture_diagnosis_appended_utc": "2026-10-30T00:44:32.529872+00:00", + "current_frozen_source_sha256": "0d9da71f481fb023a73cb9bd0742612215c4dc7aaae3affd7b15a8e9ef7614e3", + "v2_appended_utc": "2026-10-30T00:46:28.746513+00:00" +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/FROZEN_SOURCE_V2.json b/reviews/cap_compiled_admission_cbz_20261030/FROZEN_SOURCE_V2.json new file mode 100644 index 000000000..13a189fd9 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/FROZEN_SOURCE_V2.json @@ -0,0 +1,158 @@ +{ + "actual_final_package_gate": "NOT_RUN: preceding V1 interrupted for explicit fixture source correction; final hosted qualification pending", + "base_commit": "9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966", + "base_repository": "d6g8k5htny-coder/Math-", + "changes_since_v1": [ + { + "new_sha256": "83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb", + "old_sha256": "46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b", + "path": "frontiers/cap_first_exit_lean_20261002/MANIFEST.json" + }, + { + "new_sha256": "6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217", + "old_sha256": "d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37", + "path": "frontiers/cap_first_exit_lean_20261002/test_process_retention.py" + } + ], + "files": [ + { + "bytes": 20, + "git_blob": "ae73679948e8ab42b43d663e78f13a0c6640fb41", + "path": "frontiers/cap_first_exit_lean_20261002/.gitignore", + "sha256": "b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374" + }, + { + "bytes": 57035, + "git_blob": "ef05eb264ea219771fa37d7ecd10985d55846c48", + "path": "frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md", + "sha256": "91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21" + }, + { + "bytes": 7853, + "git_blob": "0aa3dd37a7d091e179259229610ea8bd779576be", + "path": "frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md", + "sha256": "11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2" + }, + { + "bytes": 326607, + "git_blob": "01744e2cf571049d7d1557b9ed54646881d341cf", + "path": "frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean", + "sha256": "040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0" + }, + { + "bytes": 46533, + "git_blob": "ca35fdf19575c478599a7158a9604072e6d72918", + "path": "frontiers/cap_first_exit_lean_20261002/MANIFEST.json", + "sha256": "83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb" + }, + { + "bytes": 32478, + "git_blob": "d4adc709cbed1e5eccc7ef2f5aca57c61a21237e", + "path": "frontiers/cap_first_exit_lean_20261002/README.md", + "sha256": "049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57" + }, + { + "bytes": 15043, + "git_blob": "02b74f2aa579e9d672bf65b3c74d36df10d4183b", + "path": "frontiers/cap_first_exit_lean_20261002/compiled_inventory.py", + "sha256": "e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b" + }, + { + "bytes": 28665, + "git_blob": "521a70902f7d489b2903457076d96be76124b6d9", + "path": "frontiers/cap_first_exit_lean_20261002/gate.py", + "sha256": "16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e" + }, + { + "bytes": 3547, + "git_blob": "292d7c1169a584ff7a6e995ec85e925ed04b6439", + "path": "frontiers/cap_first_exit_lean_20261002/lake-manifest.json", + "sha256": "04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b" + }, + { + "bytes": 252, + "git_blob": "8b02204e207b56b10df4baa1109637061ea41752", + "path": "frontiers/cap_first_exit_lean_20261002/lakefile.toml", + "sha256": "3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52" + }, + { + "bytes": 25, + "git_blob": "ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5", + "path": "frontiers/cap_first_exit_lean_20261002/lean-toolchain", + "sha256": "d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b" + }, + { + "bytes": 3607, + "git_blob": "8327bcd36c6662cb2b5d90f1af18036818a7ffec", + "path": "frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py", + "sha256": "41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba" + }, + { + "bytes": 7658, + "git_blob": "d59653bed36b85e155a353dc2decda3331a5a751", + "path": "frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py", + "sha256": "65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed" + }, + { + "bytes": 12680, + "git_blob": "f390708b96c0a67d7303f411691e954573af7aaa", + "path": "frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py", + "sha256": "c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810" + }, + { + "bytes": 22903, + "git_blob": "65ff6cf590ddeb25a06706e95094ab4f64fa4378", + "path": "frontiers/cap_first_exit_lean_20261002/test_gate.py", + "sha256": "1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9" + }, + { + "bytes": 3399, + "git_blob": "db623e30f2773050a2f0fd146c8844c2f3177112", + "path": "frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py", + "sha256": "1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef" + }, + { + "bytes": 7430, + "git_blob": "899566538c7ecd1cce76201e01a57bef837a0c03", + "path": "frontiers/cap_first_exit_lean_20261002/test_process_retention.py", + "sha256": "6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217" + }, + { + "bytes": 2270, + "git_blob": "1a68602705304143aa585db1e8edcf9f884b9749", + "path": "frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py", + "sha256": "097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea" + }, + { + "bytes": 2852, + "git_blob": "453de756513cae5b8abad08548108c415ea4a132", + "path": "frontiers/cap_first_exit_lean_20261002/test_source_admission.py", + "sha256": "514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7" + }, + { + "bytes": 2035, + "git_blob": "98443d110b81b49ac798b4e7b982b2e6de1968b3", + "path": "frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py", + "sha256": "b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f" + } + ], + "original38_names_preserved": true, + "original_proof_preserved": true, + "patch_bytes": 169301, + "patch_sha256": "337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e", + "qualification": { + "auditor_mutation_actual_exit": 0, + "final_actual_package_admission": "PENDING_HOSTED_EXECUTION; no final PASS", + "named_auditor_mutations_killed": 24, + "normal_tests": 95, + "optimized_tests": 95, + "per_mode": 12, + "python_runtime": "CPython3.9.6", + "relative_cli_output": ".lake/auditor-selftest-v2", + "test_actual_exits": [ + 0, + 0 + ] + }, + "schema": "cap.frozen-source.v2" +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/QUALIFICATION_V2.json b/reviews/cap_compiled_admission_cbz_20261030/QUALIFICATION_V2.json new file mode 100644 index 000000000..1f753b978 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/QUALIFICATION_V2.json @@ -0,0 +1,55 @@ +{ + "artifacts": { + "/tmp/cbz-cap-candidate-20261030T000800Z/FINAL_SOURCE_V2.patch": { + "bytes": 169301, + "sha256": "337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/FROZEN_SOURCE_V2.json": { + "bytes": 6530, + "sha256": "0d9da71f481fb023a73cb9bd0742612215c4dc7aaae3affd7b15a8e9ef7614e3" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/REPORT.json": { + "bytes": 6552, + "sha256": "90921cb853f5890e8d7da996078805237e9c3075df765d9ee3a47e4aad179488" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-auditor-selftest.stderr": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-auditor-selftest.stdout": { + "bytes": 64, + "sha256": "41287ddccbad50a1a9999b83a41f9132316b1723b82d630d782d153339586447" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-normal.stderr": { + "bytes": 8293, + "sha256": "1fc8c3d6989556e611f3ff1e364494069bb3eb848855b7e429becda11d4807c7" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-normal.stdout": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-optimized.stderr": { + "bytes": 8293, + "sha256": "433d5843c825fce65333e2807023b14ed6406d6c2474108fc94ed291289dc900" + }, + "/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-optimized.stdout": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + "frozen_files": 20, + "scope": { + "auditor_mutation_actual_exit": 0, + "final_actual_package_admission": "PENDING_HOSTED_EXECUTION; no final PASS", + "named_auditor_mutations_killed": 24, + "normal_tests": 95, + "optimized_tests": 95, + "per_mode": 12, + "python_runtime": "CPython3.9.6", + "relative_cli_output": ".lake/auditor-selftest-v2", + "test_actual_exits": [ + 0, + 0 + ] + } +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/README.md b/reviews/cap_compiled_admission_cbz_20261030/README.md new file mode 100644 index 000000000..167b91bff --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/README.md @@ -0,0 +1,15 @@ +# Cap compiled-admission repair review + +This delivery repairs the Cap packet auditor while preserving every mathematical statement, hypothesis, bound, proof byte and dependency pin. The original proof is 326607 bytes with SHA-256 `040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0`. Its source base is Math- `9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966`. + +The current V2 implementation has observed **95 passing Python tests in each mode and 24/24 named auditor mutations killed** on the exact frozen source. Root read back every frozen file, checked the mutation report against all20 source hashes, and reran the two changed timeout-fixture cases in both modes. All38 original test methods and74 original assertions were retained; synthetic execution fixtures were extended to model the new compiled audit. These results do not supply final package admission or scientific acceptance. + +The new gate enumerates the owned Lean module table rather than relying on a visible-source regex alone. It audits unused, private and generated declarations, their transitive axiom closure, exact structural support and separately bound IR names. Discovery observed206 owned constants (152 visible plus54 support),8 IR names and47659 dependency names, with only `propext`, `Classical.choice` and `Quot.sound`. The default kernel replay passed against imported dependencies. This does not recheck all imported Mathlib in an empty kernel. + +Actual development findings and failures are preserved: the original source gate accepted a digest-rebound private theorem; an unsafe opaque fixture was reported safe; a timed-out process could exit zero; an unrelated selected-test failure could count as a mutation kill; relative output paths broke the actual exporter fixture; and a short preliminary version deadline could prevent a timeout test from reaching its intended compile phase. The current implementation and tests address these distinct defects. The fixture correction retains the original assertions, adds successful version-phase assertions and a deterministic delayed-version case. It changes no mathematical bound. + +A V1 local full-gate attempt completed a fresh build and default kernel replay, then was deliberately interrupted before finishing later audits so that verification would not continue on a source cut requiring a fixture repair. Its partial streams and interruption remain evidence, with no final PASS. The corrected V2 full package gate is **pending hosted execution** at this draft. It must observe fresh build, owned kernel replay, all152 target axiom reports, full census, four actual compiled package mutations and the three retained negative controls before qualification. Current hosted check outcomes and integration are separate native PR records. + +`EVIDENCE_INDEX.json` hashes every bundle. Each bundle stores exact named UTF-8 records, or lossless base64 chunks with byte offsets, chunk hashes and full-file hashes. Historical bundles retain their original source cuts and verdicts; they do not qualify later bytes. Current evidence is in the `v2-current-qualification` group. Local paths in records identify the actual execution and are not cold-start prerequisites. The packet's `CBZ_ADMISSION.md` gives portable commands; the workflow runs Python controls, installs pinned Lean, runs actual auditor self-tests and then the complete gate, retaining both evidence directories. + +The workflow change preserves all existing steps, action pins, permissions, controls and evidence paths. Seventeen source-only contract controls passed per mode; these are structural evidence, not hosted runtime results. The bounded timeout is60 minutes for the expanded qualification. Canonical foundation registration remains coordinated through Main#684 and Main#695; this directory creates no separate global status authority. No parent theorem, global Layer A audit, provider independence or CBZ-0 completion is claimed. diff --git a/reviews/cap_compiled_admission_cbz_20261030/actual-discovery-v2.json b/reviews/cap_compiled_admission_cbz_20261030/actual-discovery-v2.json new file mode 100644 index 000000000..1d17e24e8 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/actual-discovery-v2.json @@ -0,0 +1,61 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "actual-discovery-v2", + "records": [ + { + "path": "SUMMARY.json", + "bytes": 1889, + "sha256": "5d402620d9ebda9eb388d02083195fd0502662797b417e3ab3d15c4a9afc32d8", + "utf8": "{\n \"axioms\": [\n \"Classical.choice\",\n \"Quot.sound\",\n \"propext\"\n ],\n \"closure\": 47659,\n \"findings\": [],\n \"modules\": [\n [\n [\n \"CapFirstExit\"\n ],\n false,\n 206,\n 8\n ]\n ],\n \"owned_constants\": 206,\n \"production_binding_written\": false,\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"schema\": \"cap.actual-census-proposal.v1\",\n \"source_identity_sha256\": \"e0156e4fd169e94b5dd771e52061c5d7182b62449e264b1561bd6b3ea254dbd3\",\n \"structural_relations\": [\n [\n \"constructor\",\n \"s436170466972737445786974/s436170487970/s6d6b\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"projection\",\n \"s436170466972737445786974/s436170487970/s66726f6e746965725f6c65\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"projection\",\n \"s436170466972737445786974/s436170487970/s6f6c646572\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"projection\",\n \"s436170466972737445786974/s436170487970/s6d656d\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"projection\",\n \"s436170466972737445786974/s436170487970/s7269646765\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"projection\",\n \"s436170466972737445786974/s436170487970/s6365696c696e67\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"aux_recursor\",\n \"s436170466972737445786974/s436170487970/s63617365734f6e\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"recursor\",\n \"s436170466972737445786974/s436170487970/s726563\",\n \"s436170466972737445786974/s436170487970\"\n ],\n [\n \"aux_recursor\",\n \"s436170466972737445786974/s436170487970/s7265634f6e\",\n \"s436170466972737445786974/s436170487970\"\n ]\n ],\n \"support_records\": 54,\n \"visible_declarations\": 152\n}\n" + }, + { + "path": "RUNS.json", + "bytes": 1277, + "sha256": "878fe1bc3545b44984916810d3e314c44b8511c8118f4e436a406f66e0000ab8", + "utf8": "[\n {\n \"label\": \"version-before\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:22:31.515421+00:00\",\n \"ended_utc\": \"2026-10-30T00:22:31.985932+00:00\"\n },\n {\n \"label\": \"census\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lake\",\n \"env\",\n \"lean\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/evidence/actual-census-v2/Inventory.lean\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:22:31.986670+00:00\",\n \"ended_utc\": \"2026-10-30T00:24:32.939118+00:00\"\n },\n {\n \"label\": \"kernel\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lake\",\n \"env\",\n \"leanchecker\",\n \"CapFirstExit\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:24:32.940431+00:00\",\n \"ended_utc\": \"2026-10-30T00:26:12.113309+00:00\"\n },\n {\n \"label\": \"version-after\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:26:12.113740+00:00\",\n \"ended_utc\": \"2026-10-30T00:26:12.234292+00:00\"\n }\n]\n" + }, + { + "path": "SUPPORT_PROPOSAL.json", + "bytes": 8271, + "sha256": "250ca95d71ccef0e329abf4f9cce40fc624478df0023fa623285003c10b936bd", + "utf8": "[\n [\n \"def\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s63617365734f6e\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s6365696c696e67\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s66726f6e746965725f6c65\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s6d656d\",\n \"safe\"\n ],\n [\n \"ctor\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s6d6b\",\n \"safe\"\n ],\n [\n \"def\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s6d6b/s5f666c61745f63746f72\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s6f6c646572\",\n \"safe\"\n ],\n [\n \"rec\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s726563\",\n \"safe\"\n ],\n [\n \"def\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s7265634f6e\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"user\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s436170487970/s7269646765\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s667878785f6c6f776572/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6831546f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6831546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f33\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f34\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f35\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f36\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f37\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s6d69786564546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s71756172746963546f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s71756172746963546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7269646765546f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7269646765546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4333/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4335/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f45/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f33\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f34\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f35\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f36\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f37\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f38\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7370546f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7370546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174/s5f6162656c5f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f33\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573546f7946/s65715f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f7946/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f70726f6f665f31\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f70726f6f665f32\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f70726f6f665f33\",\n \"safe\"\n ],\n [\n \"theorem\",\n \"aux\",\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f70726f6f665f34\",\n \"safe\"\n ]\n]\n" + }, + { + "path": "CODEGEN_PROPOSAL.json", + "bytes": 953, + "sha256": "1a736b301336b83f94920c45fe591b1f5bb552bcade5e2253190923e182bcf18", + "utf8": "[\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f636c6f7365645f31\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f636c6f7365645f30\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f795269646765/s5f6c616d5f30\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s5f626f786564\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s5f726564417267\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f636c6f7365645f30\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30/s5f626f786564\"\n ],\n [\n \"s436170466972737445786974\",\n \"s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30\"\n ]\n]\n" + }, + { + "path": "Inventory.lean", + "bytes": 3986, + "sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "census.stdout", + "bytes": 24866, + "sha256": "b4a9341a150e8aa60c1f746df4a20c41b6d740a83312ed7485edf504eb80ea03", + "utf8": "MODULE|s436170466972737445786974|false|206|8\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f636c6f7365645f31\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f636c6f7365645f30\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f6c616d5f30\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s5f626f786564\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s5f726564417267\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f636c6f7365645f30\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30/s5f626f786564\nEXTRA|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s5f726564417267/s5f6c616d5f30\nINV|inductive|user|s436170466972737445786974|s436170466972737445786974/s436170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s62617272696572|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s63617365734f6e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6365696c696e67|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s636f6d706f6e656e745f736570617261746564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s636f6e6772|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f616c697665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f64656174685f6c6576656c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f64656174685f6c6576656c5f7065616b|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f6d657267655f6966665f636c6f736564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f6d657267655f6966665f6f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s66726f6e746965725f6c65|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6a6f696e65644c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6170|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d61705f736164646c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6178696d696e5f6571|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6178696d696e5f69734772656174657374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d656d|safe\nINV|ctor|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6b|safe\nINV|def|aux|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6b/s5f666c61745f63746f72|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f665f636f6e73745f6d756c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c646572|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c6465725065616b4c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c6465725f7065616b|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s706174685f7468726f7567685f736164646c65|safe\nINV|rec|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s726563|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s7265634f6e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s7269646765|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s735f6c655f665f4d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s736164646c655f637574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s746f546f727573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s616464436972636c655f6c6f63616c6c79436f6e6e65637465645370616365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s617869735f636f6e766578436f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f626f756e645f636f6c6c6172|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6e6f6e6e6567|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6f665f6e6f726d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6f665f7061727469616c|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s636972636c654368617274|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636972636c6543686172745f636f65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636972636c6543686172745f636f6e74696e756f7573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6c6c61725f7375627365745f6f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6d706f6e656e745f6a6f696e6564|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s636f6e6e656374696f6e4c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665784f6e5f6164645f6e6f6465|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f64657269765f7369676e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f6265747765656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f6c656674|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f7269676874|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s64785f677261645f696e6372656d656e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s66726f6e746965725f63796c696e646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s66726f6e746965725f696d6167655f737562736574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s667878785f6c6f776572|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s667878785f6c6f776572/s5f73696d705f315f31|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s6831546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6831546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6831546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f4333|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f4334|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f45|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f72696467655f646966666572656e746961626c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f736f75726365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s68617346446572697641745f7a65726f5f636f6e73745f6d756c5f696666|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6761705f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6761705f6c655f636f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6d5f67655f74776f|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f696e6372656d656e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f696e6372656d656e745f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f725f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f785f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973436c6f7365645f636f6e6e6563746564436f6d706f6e656e74496e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973436f6d706163745f63796c696e646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973496e7665727469626c655f6f665f6e6567446566|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f636f6e73745f6d756c5f6f665f69734f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f74687265655f73776170e28281e28282|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f74687265655f73776170e28282e28283|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c31325f636f6e7374616e7473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c31325f6c6f776572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f34|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f35|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f36|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f37|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6d69786564546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f636f6e7444696666|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f6861734644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f666f7572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f7468726565|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f74776f|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s706174685f6d656574735f66726f6e74696572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s707265636f6e6e65637465645f7375627365745f6f665f66726f6e746965725f6469736a6f696e74|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s71756172746963546f795f45|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f6a6f696e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f736c69636573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4333|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4333/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4334|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4335|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4335/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f45|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f45/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4831|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f34|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f35|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f36|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f37|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f38|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d616c697a6564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6f665f736c69636573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f736f75726365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f7370|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f646966666572656e746961626c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f657869737473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f68617344657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6861735374726963744644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f68636f6e76|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f696e707574735f6f665f6a6f696e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f70726f66696c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f7365636f6e645f6964656e74697479|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f736f757263655f6661637473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s73636875725f6d6178|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637269746963616c5f657869737473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637269746963616c5f756e69717565|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637572766564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6772616469656e745f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6772616469656e745f64657269765f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6861734644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f72696467655f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c696365735f7374726f6e67436f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c696365735f7374726f6e67436f6e636176655f44|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s7370546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7370546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7370546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7370546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7370546f795f6e6f726d616c697a6564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s73705f6375727665645f736964655f636f6e7374616e7473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f32|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174/s5f6162656c5f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f33|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f7665725f636f6e74696e756f7573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f7665725f69734f70656e4d6170|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573546f795f656c646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f6361704879705f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f656c6465725f64656174685f6c6576656c5f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f6c6f63616c6c79436f6e6e65637465645370616365|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f7946/s5f70726f6f665f31|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f795269646765|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f34|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f64656174685f6c6576656c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f665f4d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f665f53|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f66726f6e74696572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4331|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4332|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4333|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f72696467655f6765|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f736164646c655f637574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6571|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6c655f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472696c696e6561725f6c6f776572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74776f5f6e6f64655f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74776f5f6e6f64655f64657269765f626f756e64|safe\nREL|constructor|s436170466972737445786974/s436170487970/s6d6b|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s66726f6e746965725f6c65|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6f6c646572|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6d656d|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s7269646765|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6365696c696e67|s436170466972737445786974/s436170487970\nREL|aux_recursor|s436170466972737445786974/s436170487970/s63617365734f6e|s436170466972737445786974/s436170487970\nREL|recursor|s436170466972737445786974/s436170487970/s726563|s436170466972737445786974/s436170487970\nREL|aux_recursor|s436170466972737445786974/s436170487970/s7265634f6e|s436170466972737445786974/s436170487970\nAXIOMS|s436c6173736963616c/s63686f696365,s51756f74/s736f756e64,s70726f70657874\nCLOSURE|47659\n" + }, + { + "path": "census.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "kernel.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "kernel.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/baseline-source-red.json b/reviews/cap_compiled_admission_cbz_20261030/baseline-source-red.json new file mode 100644 index 000000000..d2d0a388e --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/baseline-source-red.json @@ -0,0 +1,19 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "baseline-source-red", + "records": [ + { + "path": "RECEIPT.json", + "bytes": 4405, + "sha256": "91d8debee6b37f5116a175e3f60eceaf34336d0472bf3b680c4da25ee4034114", + "utf8": "{\n \"ended_utc\": \"2026-10-30T00:04:30.372052+00:00\",\n \"executable\": \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"lean_executed\": false,\n \"observer_source_sha256\": \"1b6101021ac7fb17d961710aae155cb31fa27eaa3c61d3ed4e56fb2d8fb47ffa\",\n \"original_source_hashes\": {\n \"frontiers/cap_first_exit_lean_20261002/.gitignore\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\",\n \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\",\n \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\",\n \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\": \"630d5edeaf975918c1c1b2648e32478c06d14a8e22a2a5e43ccb587e1cf04d8f\",\n \"frontiers/cap_first_exit_lean_20261002/README.md\": \"7eb062ebd12cb181bab71d00fbc3f86d9b8b515222ec5cedf01d50246d0e644a\",\n \"frontiers/cap_first_exit_lean_20261002/gate.py\": \"5b94d6d0d9bccb1cef009bc17a32cfc66999f4d286c7784435d60dd429a70bb6\",\n \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\",\n \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\",\n \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\",\n \"frontiers/cap_first_exit_lean_20261002/test_gate.py\": \"9914ce00b01dfd17fa3b0ad1a7e2cc02b31312b0678c63c1eb85054d0b88dda6\",\n \"imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md\": \"0bf922b9203c29088b12388807aa0e2ecd020485eb0f6e919679841b5b2636fc\",\n \"reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md\": \"dc6cfc863b5b9f36065ded609e9834370e49bbe5fcf8bc11ec6b9bc0e53b133a\"\n },\n \"original_source_preserved\": true,\n \"platform\": \"macOS-15.7.4-arm64-arm-64bit\",\n \"purpose\": \"Actual unchanged source_check regression; no Lean or target test/build qualification\",\n \"result\": \"CONFIRMED_RED_UNLISTED_PRIVATE_THEOREM_ACCEPTED\",\n \"runs\": [\n {\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_cap_private_admission.py\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z\",\n \"ended_utc\": \"2026-10-30T00:04:29.263666+00:00\",\n \"exit_code\": 1,\n \"expected_assertion_failure_observed\": true,\n \"mode\": \"normal\",\n \"observation\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/observation-normal.json\",\n \"started_utc\": \"2026-10-30T00:04:28.078437+00:00\",\n \"stderr\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/normal.stderr\",\n \"stderr_sha256\": \"6d5915a9c7eabf39ee9347a72431c8f89bc5b7f213bfff87533af06bd048ae6d\",\n \"stdout\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/normal.stdout\",\n \"stdout_sha256\": \"d64b03820bbccd86126640df4005dc05f42dfbf616975d5d696d997a93a2d78b\"\n },\n {\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_cap_private_admission.py\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z\",\n \"ended_utc\": \"2026-10-30T00:04:30.370065+00:00\",\n \"exit_code\": 1,\n \"expected_assertion_failure_observed\": true,\n \"mode\": \"optimized\",\n \"observation\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/observation-optimized.json\",\n \"started_utc\": \"2026-10-30T00:04:29.263786+00:00\",\n \"stderr\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/optimized.stderr\",\n \"stderr_sha256\": \"ca7dba583a2fc73a547196baba4d15e6c06c5b3ba06bab895d9404a3680141bc\",\n \"stdout\": \"/private/tmp/cbz-cap-admission-red-20261030T000328Z/optimized.stdout\",\n \"stdout_sha256\": \"d64b03820bbccd86126640df4005dc05f42dfbf616975d5d696d997a93a2d78b\"\n }\n ],\n \"runtime\": \"3.9.6 (default, Dec 2 2025, 07:27:58) \\n[Clang 17.0.0 (clang-1700.6.3.2)]\",\n \"schema\": \"cbz.cap-admission-red-reproduction.v1\",\n \"source_bindings_sha256\": \"2bdbb6a78616dd563041a34722b8af509d2098604da9b512982288f12a0ecdc8\",\n \"started_utc\": \"2026-10-30T00:04:28.061353+00:00\",\n \"test_source_sha256\": \"aedfdbf37e5d17bcc6d6619f5c44492ba1f07558c8a7a1378168b176e7dcb476\"\n}\n" + }, + { + "path": "SOURCE_BINDINGS.json", + "bytes": 7606, + "sha256": "2bdbb6a78616dd563041a34722b8af509d2098604da9b512982288f12a0ecdc8", + "utf8": "{\n \"commit\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"executable\": \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"lean_executed\": false,\n \"manifest_git_blob\": \"5252de50e9dbe5f733ec5442e2c61fc81eb76e55\",\n \"packet\": \"frontiers/cap_first_exit_lean_20261002\",\n \"platform\": \"macOS-15.7.4-arm64-arm-64bit\",\n \"project_source_mutated\": false,\n \"python\": \"3.9.6 (default, Dec 2 2025, 07:27:58) \\n[Clang 17.0.0 (clang-1700.6.3.2)]\",\n \"repository\": \"d6g8k5htny-coder/Math-\",\n \"schema\": \"cbz.cap-source-fixture.v1\",\n \"sources\": [\n {\n \"bytes\": 22679,\n \"git_blob\": \"5252de50e9dbe5f733ec5442e2c61fc81eb76e55\",\n \"manifest_binding\": null,\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\",\n \"sha256\": \"630d5edeaf975918c1c1b2648e32478c06d14a8e22a2a5e43ccb587e1cf04d8f\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/MANIFEST.json\"\n },\n {\n \"bytes\": 20,\n \"git_blob\": \"ae73679948e8ab42b43d663e78f13a0c6640fb41\",\n \"manifest_binding\": {\n \"bytes\": 20,\n \"path\": \".gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/.gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/.gitignore\"\n },\n {\n \"bytes\": 57035,\n \"git_blob\": \"ef05eb264ea219771fa37d7ecd10985d55846c48\",\n \"manifest_binding\": {\n \"bytes\": 57035,\n \"path\": \"ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\"\n },\n {\n \"bytes\": 326607,\n \"git_blob\": \"01744e2cf571049d7d1557b9ed54646881d341cf\",\n \"manifest_binding\": {\n \"bytes\": 326607,\n \"path\": \"CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\"\n },\n {\n \"bytes\": 31519,\n \"git_blob\": \"e87c1b10a93c65756f3717eab9aaf160597889b1\",\n \"manifest_binding\": {\n \"bytes\": 31519,\n \"path\": \"README.md\",\n \"sha256\": \"7eb062ebd12cb181bab71d00fbc3f86d9b8b515222ec5cedf01d50246d0e644a\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/README.md\",\n \"sha256\": \"7eb062ebd12cb181bab71d00fbc3f86d9b8b515222ec5cedf01d50246d0e644a\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/README.md\"\n },\n {\n \"bytes\": 15645,\n \"git_blob\": \"ee7471c9d3c234fa8aeb11c8037b4898fd18987b\",\n \"manifest_binding\": {\n \"bytes\": 15645,\n \"path\": \"gate.py\",\n \"sha256\": \"5b94d6d0d9bccb1cef009bc17a32cfc66999f4d286c7784435d60dd429a70bb6\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/gate.py\",\n \"sha256\": \"5b94d6d0d9bccb1cef009bc17a32cfc66999f4d286c7784435d60dd429a70bb6\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/gate.py\"\n },\n {\n \"bytes\": 3547,\n \"git_blob\": \"292d7c1169a584ff7a6e995ec85e925ed04b6439\",\n \"manifest_binding\": {\n \"bytes\": 3547,\n \"path\": \"lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/lake-manifest.json\"\n },\n {\n \"bytes\": 252,\n \"git_blob\": \"8b02204e207b56b10df4baa1109637061ea41752\",\n \"manifest_binding\": {\n \"bytes\": 252,\n \"path\": \"lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/lakefile.toml\"\n },\n {\n \"bytes\": 25,\n \"git_blob\": \"ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5\",\n \"manifest_binding\": {\n \"bytes\": 25,\n \"path\": \"lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/lean-toolchain\"\n },\n {\n \"bytes\": 19385,\n \"git_blob\": \"d2c4e24f2fa0e05f4d6c213ecafce8edba07ca2e\",\n \"manifest_binding\": {\n \"bytes\": 19385,\n \"path\": \"test_gate.py\",\n \"sha256\": \"9914ce00b01dfd17fa3b0ad1a7e2cc02b31312b0678c63c1eb85054d0b88dda6\"\n },\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_gate.py\",\n \"sha256\": \"9914ce00b01dfd17fa3b0ad1a7e2cc02b31312b0678c63c1eb85054d0b88dda6\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/frontiers/cap_first_exit_lean_20261002/test_gate.py\"\n },\n {\n \"bytes\": 30771,\n \"git_blob\": \"a653dbc7bd8bd692433587f050ab8678713c297e\",\n \"manifest_binding\": {\n \"git_blob\": \"a653dbc7bd8bd692433587f050ab8678713c297e\",\n \"path\": \"reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md\"\n },\n \"path\": \"reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md\",\n \"sha256\": \"dc6cfc863b5b9f36065ded609e9834370e49bbe5fcf8bc11ec6b9bc0e53b133a\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md\"\n },\n {\n \"bytes\": 15160,\n \"git_blob\": \"0633aca3c2a2882b0de4399da0a75d64c2e6b2e1\",\n \"manifest_binding\": {\n \"git_blob\": \"0633aca3c2a2882b0de4399da0a75d64c2e6b2e1\",\n \"path\": \"imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md\"\n },\n \"path\": \"imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md\",\n \"sha256\": \"0bf922b9203c29088b12388807aa0e2ecd020485eb0f6e919679841b5b2636fc\",\n \"url\": \"https://raw.githubusercontent.com/d6g8k5htny-coder/Math-/9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966/imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md\"\n }\n ],\n \"ssl\": \"LibreSSL 2.8.3\"\n}\n" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/fixture-phase-diagnosis.json b/reviews/cap_compiled_admission_cbz_20261030/fixture-phase-diagnosis.json new file mode 100644 index 000000000..0aded0bf2 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/fixture-phase-diagnosis.json @@ -0,0 +1,103 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "fixture-phase-diagnosis", + "records": [ + { + "path": "final-v1-independent-failure/REVIEW.json", + "bytes": 6747, + "sha256": "c520f649c86bdc44289008fc8d37a9f87a65694ff55a88ee430b1ed385c7de26", + "utf8": "{\n \"schema\": \"cap.root-final-python-review.v1\",\n \"started_utc\": \"2026-10-30T00:38:35.737108+00:00\",\n \"source\": {\n \"actual_final_package_gate\": \"NOT_YET_RUN_AT_FREEZE\",\n \"base_commit\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"base_repository\": \"d6g8k5htny-coder/Math-\",\n \"files\": [\n {\n \"bytes\": 20,\n \"git_blob\": \"ae73679948e8ab42b43d663e78f13a0c6640fb41\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/.gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\"\n },\n {\n \"bytes\": 57035,\n \"git_blob\": \"ef05eb264ea219771fa37d7ecd10985d55846c48\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\"\n },\n {\n \"bytes\": 7853,\n \"git_blob\": \"0aa3dd37a7d091e179259229610ea8bd779576be\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md\",\n \"sha256\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\"\n },\n {\n \"bytes\": 326607,\n \"git_blob\": \"01744e2cf571049d7d1557b9ed54646881d341cf\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n {\n \"bytes\": 42347,\n \"git_blob\": \"c2b2c74423e726617a4fbb761e0f187c8adb0c3f\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\",\n \"sha256\": \"46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b\"\n },\n {\n \"bytes\": 32478,\n \"git_blob\": \"d4adc709cbed1e5eccc7ef2f5aca57c61a21237e\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/README.md\",\n \"sha256\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\"\n },\n {\n \"bytes\": 15043,\n \"git_blob\": \"02b74f2aa579e9d672bf65b3c74d36df10d4183b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\",\n \"sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n },\n {\n \"bytes\": 28665,\n \"git_blob\": \"521a70902f7d489b2903457076d96be76124b6d9\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/gate.py\",\n \"sha256\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\"\n },\n {\n \"bytes\": 3547,\n \"git_blob\": \"292d7c1169a584ff7a6e995ec85e925ed04b6439\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\"\n },\n {\n \"bytes\": 252,\n \"git_blob\": \"8b02204e207b56b10df4baa1109637061ea41752\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\"\n },\n {\n \"bytes\": 25,\n \"git_blob\": \"ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\"\n },\n {\n \"bytes\": 3607,\n \"git_blob\": \"8327bcd36c6662cb2b5d90f1af18036818a7ffec\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\",\n \"sha256\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\"\n },\n {\n \"bytes\": 7658,\n \"git_blob\": \"d59653bed36b85e155a353dc2decda3331a5a751\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\",\n \"sha256\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\"\n },\n {\n \"bytes\": 12680,\n \"git_blob\": \"f390708b96c0a67d7303f411691e954573af7aaa\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py\",\n \"sha256\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\"\n },\n {\n \"bytes\": 22903,\n \"git_blob\": \"65ff6cf590ddeb25a06706e95094ab4f64fa4378\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_gate.py\",\n \"sha256\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\"\n },\n {\n \"bytes\": 3399,\n \"git_blob\": \"db623e30f2773050a2f0fd146c8844c2f3177112\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py\",\n \"sha256\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\"\n },\n {\n \"bytes\": 6586,\n \"git_blob\": \"924419e84401f831a77c3173d59627d3d7a32776\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\",\n \"sha256\": \"d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37\"\n },\n {\n \"bytes\": 2270,\n \"git_blob\": \"1a68602705304143aa585db1e8edcf9f884b9749\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\",\n \"sha256\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\"\n },\n {\n \"bytes\": 2852,\n \"git_blob\": \"453de756513cae5b8abad08548108c415ea4a132\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_source_admission.py\",\n \"sha256\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\"\n },\n {\n \"bytes\": 2035,\n \"git_blob\": \"98443d110b81b49ac798b4e7b982b2e6de1968b3\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py\",\n \"sha256\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n }\n ],\n \"original38_names_preserved\": true,\n \"original_proof_preserved\": true,\n \"patch_bytes\": 116900,\n \"patch_sha256\": \"827c9628e88b8c0fddc86c1d92beddd33d8e2749db3ed3fe6783eafeb9f4b826\",\n \"schema\": \"cap.frozen-source.v1\"\n },\n \"runtime\": \"3.9.6 (default, Dec 2 2025, 07:27:58) \\n[Clang 17.0.0 (clang-1700.6.3.2)]\",\n \"PYTHONOPTIMIZE_present\": false,\n \"scope\": \"Root private-copy verification; no Lean invocation, candidate change or scientific promotion\",\n \"runs\": [\n {\n \"mode\": \"normal\",\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"discover\",\n \"-s\",\n \".\",\n \"-p\",\n \"test_*.py\",\n \"-v\"\n ],\n \"exit\": 1,\n \"count\": 94,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"d109ddd8d2fbb7cd63d1dbaf47690d278b83fe80fe304d3cab16ee929808c194\"\n }\n ],\n \"review_agent_failure\": \"The gpt-6.1-sol model is not supported when using Codex with a ChatGPT account; Root owns this fallback.\"\n}\n" + }, + { + "path": "final-v1-independent-failure/normal.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "final-v1-independent-failure/normal.stderr", + "bytes": 9545, + "sha256": "d109ddd8d2fbb7cd63d1dbaf47690d278b83fe80fe304d3cab16ee929808c194", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ERROR\ntest_relative_opaque_cli_paths_are_resolved_before_child_cwd (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_binding_observation_must_match_original_proof_identity (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n======================================================================\nERROR: test_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/test_process_retention.py\", line 112, in test_opaque_control_timeout_uses_retention_and_writes_failure_receipt\n self.assertIn('fixture-partial', (out/'compile.stdout').read_text())\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py\", line 1256, in read_text\n with self.open(mode='r', encoding=encoding, errors=errors) as f:\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py\", line 1242, in open\n return io.open(self, mode, buffering, encoding, errors, newline,\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py\", line 1110, in _opener\n return self._accessor.open(self, flags, mode)\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpz8xbpa1y/attempt/compile.stdout'\n\n----------------------------------------------------------------------\nRan 94 tests in 33.247s\n\nFAILED (errors=1)\n" + }, + { + "path": "deterministic-phase-diagnosis/OBSERVATION.json", + "bytes": 1047, + "sha256": "6635be37d3323da3261abab2f41d8a3058fa87f11ca4f12bf351e30b892af17d", + "utf8": "{\n \"schema\": \"cap.timeout-fixture-phase-repro.v1\",\n \"observed_utc\": \"2026-10-30T00:42:11.556812+00:00\",\n \"scope\": \"Synthetic Python executable with deterministic delayed version, no actual Lean or mathematical credit\",\n \"fake_program_sha256\": \"a62facb623acb4de240fbda1e3d324c223f0626184d7aa83e40451e032c693ea\",\n \"snapshot_source\": \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"results\": [\n {\n \"case\": \"all-phases-short\",\n \"exit\": 1,\n \"phases\": {\n \"version\": {\n \"exit\": -15,\n \"timed_out\": true\n }\n },\n \"compile_stdout_exists\": false,\n \"receipt_success\": false\n },\n {\n \"case\": \"phase-selective\",\n \"exit\": 1,\n \"phases\": {\n \"version\": {\n \"exit\": 0,\n \"timed_out\": false\n },\n \"compile\": {\n \"exit\": -15,\n \"timed_out\": true\n }\n },\n \"compile_stdout_exists\": true,\n \"receipt_success\": false\n }\n ],\n \"production_source_modified\": false\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/all-phases-short.stderr", + "bytes": 1753, + "sha256": "0e8c9ecad6c0db1b75e92e8038c358f98f541ab452d31277c6374e10fab8a7e6", + "utf8": "runTest (lean_opaque_control.main..ActualLeanSafety) ... ERROR\n\n======================================================================\nERROR: runTest (lean_opaque_control.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\", line 40, in runTest\n version = retained([str(args.lean),'--version'],'version')\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\", line 32, in retained\n return execute(command,work,work,label,timeout=timeout)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1093, in __call__\n return self._mock_call(*args, **kwargs)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1097, in _mock_call\n return self._execute_mock_call(*args, **kwargs)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1158, in _execute_mock_call\n result = effect(*args, **kwargs)\n File \"\", line 13, in bounded\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\", line 43, in execute\n raise RuntimeError('process timed out; retained streams and metadata: '+label)\nRuntimeError: process timed out; retained streams and metadata: version\n\n----------------------------------------------------------------------\nRan 1 test in 0.305s\n\nFAILED (errors=1)\n" + }, + { + "path": "deterministic-phase-diagnosis/phase-selective.stderr", + "bytes": 1786, + "sha256": "0591b8d522779ec935f593ceb217341cfb5af7ca61038918adb24e7f08206b1d", + "utf8": "runTest (lean_opaque_control.main..ActualLeanSafety) ... ERROR\n\n======================================================================\nERROR: runTest (lean_opaque_control.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\", line 48, in runTest\n process = retained([env_program,'LEAN_PATH='+str(work),'LEAN_NUM_THREADS=2']+command,label)\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\", line 32, in retained\n return execute(command,work,work,label,timeout=timeout)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1093, in __call__\n return self._mock_call(*args, **kwargs)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1097, in _mock_call\n return self._execute_mock_call(*args, **kwargs)\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/unittest/mock.py\", line 1158, in _execute_mock_call\n result = effect(*args, **kwargs)\n File \"\", line 13, in bounded\n File \"/tmp/cbz-cap-root-final-review-w50dmjil/Math-/frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\", line 43, in execute\n raise RuntimeError('process timed out; retained streams and metadata: '+label)\nRuntimeError: process timed out; retained streams and metadata: compile\n\n----------------------------------------------------------------------\nRan 1 test in 0.930s\n\nFAILED (errors=1)\n" + }, + { + "path": "deterministic-phase-diagnosis/all-phases-short/RESULT.json", + "bytes": 657, + "sha256": "2340cee64d93989ffefc4f8add99363ba2e35783df7769986d52324546a1ee2c", + "utf8": "{\n \"errors\": 1,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [\n \"SIGTERM\"\n ],\n \"command\": [\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/all-phases-short\",\n \"exit\": -15,\n \"label\": \"version\",\n \"timed_out\": true\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/all-phases-short/version.process.json", + "bytes": 263, + "sha256": "e07bdc06b6dc41d7e47956e2dc912c545375e4ac4749e2ebdc67653a10b53e19", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/all-phases-short\",\n \"exit\": -15,\n \"timed_out\": true,\n \"cleanup_signals\": [\n \"SIGTERM\"\n ]\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/phase-selective/RESULT.json", + "bytes": 1175, + "sha256": "780d212822ce010f92602155794f29f18faf1a32f9ad22878ef2e50a2e41e3d6", + "utf8": "{\n \"errors\": 1,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [\n \"SIGTERM\"\n ],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"exit\": -15,\n \"label\": \"compile\",\n \"timed_out\": true\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/phase-selective/version.process.json", + "bytes": 244, + "sha256": "ba87f38608ed1def1b81894e9c706e9d176ea86eca6f3ec061e48852c41b6ed2", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/phase-selective/compile.process.json", + "bytes": 446, + "sha256": "b86c289c4e15ce6697dcfbbd5e4309c944545927df33124e287dff9e69b99c9e", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/fake-lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-phase-timeout-repro-_xs04ar9/phase-selective\",\n \"exit\": -15,\n \"timed_out\": true,\n \"cleanup_signals\": [\n \"SIGTERM\"\n ]\n}\n" + }, + { + "path": "deterministic-phase-diagnosis/phase-selective/compile.stdout", + "bytes": 16, + "sha256": "3bee317070eddf4ebce56a9aee36693867dd9812a59e357ed51b9765e2ed9cb5", + "utf8": "fixture-partial\n" + }, + { + "path": "fixture-successor/interrupted-final-gate-fixture-scope.json", + "bytes": 2048, + "sha256": "e7ac8c64e0c953f3aff5b9d10cae18311aaaf2dc83cc0ccef82727ac4338d98f", + "utf8": "{\n \"reason\": \"Parent explicit LayerB resource/scheduling correction: source-bound timeout fixture must change; interrupt owned axiom stage rather than continue old-cut gate\",\n \"verified_process\": \"81440 30381 81440 lake env lean /private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/evidence/Axioms.lean\",\n \"owned_gate_pid\": 30381,\n \"owned_active_group\": 81440,\n \"signal\": \"SIGTERM\",\n \"signaled_utc\": \"2026-10-30T00:42:15.564008+00:00\",\n \"retained_successful_stages\": [\n \"fresh package build 8925 jobs\",\n \"default target-module LeanChecker against imported environment\"\n ],\n \"qualification\": \"INTERRUPTED; no final gate PASS or mathematical failure claim\",\n \"awaiting_outer_reap\": false,\n \"outer_reaped_exit\": 1,\n \"reaped_observation_utc\": \"2026-10-30T00:42:21.800341+00:00\",\n \"processes_after\": {\n \"30381\": {\n \"exit\": 1,\n \"stdout\": \"\"\n },\n \"81440\": {\n \"exit\": 1,\n \"stdout\": \"\"\n },\n \"82160\": {\n \"exit\": 1,\n \"stdout\": \"\"\n }\n },\n \"axioms.stdout\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n \"axioms.stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n \"axioms.exit\": {\n \"bytes\": 4,\n \"sha256\": \"0e55cbbc9d11449b186092d82905aa6974858df7a0b7d706ae51c4716c9461ef\"\n },\n \"axioms.process.json\": {\n \"bytes\": 455,\n \"sha256\": \"59d59ba2d22c00fe18586afde9ded8e52f416fc58f67fc440566fbb92eb58c2d\"\n },\n \"partial_axiom_process\": {\n \"command\": [\n \"lake\",\n \"env\",\n \"lean\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/evidence/Axioms.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"exit\": -15,\n \"timed_out\": false,\n \"cleanup_signals\": [],\n \"started_utc\": \"2026-10-30T00:40:56.376627+00:00\",\n \"ended_utc\": \"2026-10-30T00:42:15.687231+00:00\"\n }\n}\n" + }, + { + "path": "fixture-successor/proposed-phase-timeout-test.patch", + "bytes": 1488, + "sha256": "49df7cc032b36ad68d8216aa1a53057716a196b3fbc07bf5f22adfe31c4fccea", + "utf8": "--- a/test_process_retention.py\n+++ b/test_process_retention.py\n@@ -102,13 +102,19 @@\n fake.chmod(0o755)\n real_execute = runner.execute\n def bounded(command, cwd, output, label, **kwargs):\n- return real_execute(command, cwd, output, label, timeout=0.3)\n+ # This control expires compilation, after a successful version probe.\n+ # A startup scheduling delay must not turn it into a version timeout.\n+ return real_execute(command, cwd, output, label,\n+ timeout=2 if label == 'compile' else 10)\n expected_failure = io.StringIO()\n with mock.patch.object(sys,'argv',['lean_opaque_control.py','--lean',str(fake),'--output',str(out)]), \\\n mock.patch.object(opaque,'execute',side_effect=bounded), \\\n contextlib.redirect_stderr(expected_failure):\n self.assertEqual(opaque.main(), 1)\n self.assertIn('process timed out', expected_failure.getvalue())\n+ version = json.loads((out/'version.process.json').read_text())\n+ self.assertEqual(version['exit'], 0, 'fixture did not complete its version phase')\n+ self.assertFalse(version['timed_out'], 'fixture expired before compilation')\n self.assertIn('fixture-partial', (out/'compile.stdout').read_text())\n self.assertTrue(json.loads((out/'compile.process.json').read_text())['timed_out'])\n receipt = json.loads((out/'RESULT.json').read_text())\n" + }, + { + "path": "fixture-successor/phase-fixture-green.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "fixture-successor/phase-fixture-green.stderr", + "bytes": 323, + "sha256": "968449ba49a4a34c7462020018371721495f51eae02380941bfd80dcc7e6a852", + "utf8": "test_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_delayed_version_is_not_mistaken_for_compile_timeout (test_process_retention.ProcessRetention) ... ok\n\n----------------------------------------------------------------------\nRan 2 tests in 5.194s\n\nOK\n" + } + ], + "scope": "Preserves original final-copy95-predecessor94-test failure, deterministic synthetic phase diagnosis, interrupted local gate and focused fixture repair. No mathematical counterexample or final gate pass." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-01.json b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-01.json new file mode 100644 index 000000000..9883264a3 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-01.json @@ -0,0 +1,127 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "frozen-python-auditor-qualification", + "records": [ + { + "path": "frozen-source.json", + "bytes": 5484, + "sha256": "14063b61a08f1efe8cc1c89c856ebc3f72516ccbfff81eee27c8e7db5cf2cf6a", + "utf8": "{\n \"actual_final_package_gate\": \"NOT_YET_RUN_AT_FREEZE\",\n \"base_commit\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"base_repository\": \"d6g8k5htny-coder/Math-\",\n \"files\": [\n {\n \"bytes\": 20,\n \"git_blob\": \"ae73679948e8ab42b43d663e78f13a0c6640fb41\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/.gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\"\n },\n {\n \"bytes\": 57035,\n \"git_blob\": \"ef05eb264ea219771fa37d7ecd10985d55846c48\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\"\n },\n {\n \"bytes\": 7853,\n \"git_blob\": \"0aa3dd37a7d091e179259229610ea8bd779576be\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md\",\n \"sha256\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\"\n },\n {\n \"bytes\": 326607,\n \"git_blob\": \"01744e2cf571049d7d1557b9ed54646881d341cf\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n {\n \"bytes\": 42347,\n \"git_blob\": \"c2b2c74423e726617a4fbb761e0f187c8adb0c3f\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\",\n \"sha256\": \"46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b\"\n },\n {\n \"bytes\": 32478,\n \"git_blob\": \"d4adc709cbed1e5eccc7ef2f5aca57c61a21237e\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/README.md\",\n \"sha256\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\"\n },\n {\n \"bytes\": 15043,\n \"git_blob\": \"02b74f2aa579e9d672bf65b3c74d36df10d4183b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\",\n \"sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n },\n {\n \"bytes\": 28665,\n \"git_blob\": \"521a70902f7d489b2903457076d96be76124b6d9\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/gate.py\",\n \"sha256\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\"\n },\n {\n \"bytes\": 3547,\n \"git_blob\": \"292d7c1169a584ff7a6e995ec85e925ed04b6439\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\"\n },\n {\n \"bytes\": 252,\n \"git_blob\": \"8b02204e207b56b10df4baa1109637061ea41752\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\"\n },\n {\n \"bytes\": 25,\n \"git_blob\": \"ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\"\n },\n {\n \"bytes\": 3607,\n \"git_blob\": \"8327bcd36c6662cb2b5d90f1af18036818a7ffec\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\",\n \"sha256\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\"\n },\n {\n \"bytes\": 7658,\n \"git_blob\": \"d59653bed36b85e155a353dc2decda3331a5a751\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\",\n \"sha256\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\"\n },\n {\n \"bytes\": 12680,\n \"git_blob\": \"f390708b96c0a67d7303f411691e954573af7aaa\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py\",\n \"sha256\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\"\n },\n {\n \"bytes\": 22903,\n \"git_blob\": \"65ff6cf590ddeb25a06706e95094ab4f64fa4378\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_gate.py\",\n \"sha256\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\"\n },\n {\n \"bytes\": 3399,\n \"git_blob\": \"db623e30f2773050a2f0fd146c8844c2f3177112\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py\",\n \"sha256\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\"\n },\n {\n \"bytes\": 6586,\n \"git_blob\": \"924419e84401f831a77c3173d59627d3d7a32776\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\",\n \"sha256\": \"d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37\"\n },\n {\n \"bytes\": 2270,\n \"git_blob\": \"1a68602705304143aa585db1e8edcf9f884b9749\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\",\n \"sha256\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\"\n },\n {\n \"bytes\": 2852,\n \"git_blob\": \"453de756513cae5b8abad08548108c415ea4a132\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_source_admission.py\",\n \"sha256\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\"\n },\n {\n \"bytes\": 2035,\n \"git_blob\": \"98443d110b81b49ac798b4e7b982b2e6de1968b3\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py\",\n \"sha256\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n }\n ],\n \"original38_names_preserved\": true,\n \"original_proof_preserved\": true,\n \"patch_bytes\": 116900,\n \"patch_sha256\": \"827c9628e88b8c0fddc86c1d92beddd33d8e2749db3ed3fe6783eafeb9f4b826\",\n \"schema\": \"cap.frozen-source.v1\"\n}\n" + }, + { + "path": "decisions.md", + "bytes": 5386, + "sha256": "df20ea14e8cde4c197292465bf48d5600955d5367c331744bd10b417408c4a06", + "utf8": "# Cap admission repair decisions\n\n[2026-10-30T00:08:00Z] [phase2] [layerA] Preserve all original Cap proof bytes,152 visible declarations,38 original controls, three original negative controls and exact dependency/runtime policy. Reuse the compiled census protocol with Cap-specific admission; no self-populating binding. Real observed baseline RED precedes changes. Reversible private candidate only. Evidence ../cbz-cap-admission-red-20261030T000328Z/RECEIPT.json.\n\n[REPLACE_ACTUAL_TIMESTAMP] [phase2] [layerA] Correction: the earlier00:08:00Z text and candidate directory T000800Z were planned opaque labels, not observed creation timestamps. No actual creation time is asserted by those labels. All152 original statement premises remain unchanged; gate repair does not imply parent or application closure.\n\n[2026-10-30T00:07:15Z] [phase2] [layerA] Timestamp correction, observed by clock tool: directory T000800Z and first00:08:00Z entry are planned opaque labels, not observed creation times. The immediately preceding REPLACE_ACTUAL_TIMESTAMP marker is a clerical placeholder, not a timestamp claim. This entry supplies the actual observed correction time. No proof or parent/application closure is inferred.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Actual unsafe-opaque fixture compiled and exported successfully, then failed the safety assertion because exporter marked opaque/user/safe. Repair uses pinned ConstantInfo.isUnsafe; the same actual fixture then passed. Original raw streams and pre-fix source/program hashes remain evidence/opaque-exporter-before-fix and after-fix. Exact original observation timestamps were not separately recorded.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Pinned Lean structure fixture established generated Prop projections are theorem/user, so a blanket user-theorem refusal would reject legitimate support. Permit only exact environment-reported projections of the visible CapHyp inductive with fixed observed support bindings; other hidden user theorems still refuse even if manifest-listed. Exact fixture observation timestamp not separately recorded.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Actual first Cap census observed206 owned constants,54 nonvisible support records,143 user theorem constants including5 generated projections,8 IR extras and47659 dependency closure, with only the declared3 imported axioms. It exposed3 legitimate _abel auxiliaries and the need for explicit IR-name bindings. Added actual-derived positive and negative controls, canonical EXTRA records, exact IR binding/count comparisons and the narrowly bound Abel suffix. No production binding was populated from synthetic data.\n\n[2026-10-30T00:24:24Z] [phase2] [layerC] Scope correction: the extra --fresh kernel observer replayed all imported Mathlib rather than the requested Cap packet/closure. At recorded2026-10-30T00:19:45.988158Z, verified only ownedPID45146 and SIGTERMed it; lake returned143 and observer reapedexit1. Preserve evidence/interrupted-full-import-kernel.json and actual-census-v1 raw streams/RUNS. This interrupted experiment is neither PASS nor failed Cap mathematics.\n\n[2026-10-30T00:24:24Z] [phase2] [layerC] A separate leanchecker --help probe unexpectedly executed checking because this CLI has no help handler. At recorded2026-10-30T00:23:12.342809Z verified only ownedPID52383, SIGTERMed and reaped143; evidence/interrupted-help-probe.json retains the command and scope correction. Assign no verification credit.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Runtime owner delivered verified official Darwin Lean4.34.1 release5045d0056413266e57c625dcd7c365b10e377c52. Candidate-only Lake clones resolved exact9 dependency commits; official cache tool unpacked8907 cached objects. Unchanged Cap build completed8925 jobs with Cap compilation288s and empty stderr. No global or parent theorem closure is inferred.\n\n[2026-10-30T00:24:24Z] [phase2] [handoff] Root independent review identified unsafe opaque export, timeout returncode0 acceptance after SIGTERM, stale codegen mutation anchor and missing exact IR-binding mutation. Unsafe opaque defect is repaired with actual red/green evidence. Two actual process/evidence boundary controls also observed red then green for .lake symlink target preservation and owned timeout descendant cleanup. Timeout-exit0 and current mutation-runner follow-ups are queued until frozen observerV2 terminates; no approval wait.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] ObserverV2 uses only retained default leanchecker CapFirstExit scope, complete actual census includingIR names, exact dependency observations and before/after source/runtime identity. Current source remains frozen while it runs. Production compiled bindings and final gate qualification remain absent pending actual result inspection.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Test provenance: first29 missing-module assertions establish implementation absence only, not individual guard reachability. Named consumed-source mutants and actual compiler controls establish their own finite coverage. The file named accounting-red.stderr actually records6 passing existing-behavior tests; it is not red bug evidence. All38 original controls remain; additive process-boundary/receipt fixture adaptation is documented. Original Cap proof remains326607 bytes with SHA256040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0.\n" + }, + { + "path": "units/final-unit-normal.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "units/final-unit-normal.stderr", + "bytes": 8187, + "sha256": "3bb6437dc04f2e23172e28664a7e529dc78438b479e5ae8954a66b48d3540264", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_relative_opaque_cli_paths_are_resolved_before_child_cwd (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_binding_observation_must_match_original_proof_identity (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n----------------------------------------------------------------------\nRan 94 tests in 17.997s\n\nOK\n" + }, + { + "path": "units/final-unit-optimized.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "units/final-unit-optimized.stderr", + "bytes": 8187, + "sha256": "3444c75bd29d8fd1adfdae385dfc4493e9d94bfa13b0003587cb9ffc90195127", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_relative_opaque_cli_paths_are_resolved_before_child_cwd (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_binding_observation_must_match_original_proof_identity (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n----------------------------------------------------------------------\nRan 94 tests in 18.065s\n\nOK\n" + }, + { + "path": "units/final-auditor-selftest.stdout", + "bytes": 64, + "sha256": "41287ddccbad50a1a9999b83a41f9132316b1723b82d630d782d153339586447", + "utf8": "{\"mutations\": 24, \"all_killed\": true, \"source_preserved\": true}\n" + }, + { + "path": "units/final-auditor-selftest.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "units/PATCH_ROUNDTRIP.json", + "bytes": 304, + "sha256": "633beb8c8ec97a267c8849b1c25f40fd8ba641ac0f2bf4e9dea6e07c787178b9", + "utf8": "{\n \"command\": [\n \"/usr/bin/patch\",\n \"--batch\",\n \"-p1\",\n \"-i\",\n \"/tmp/cbz-cap-candidate-20261030T000800Z/FINAL_SOURCE.patch\"\n ],\n \"exit\": 0,\n \"mismatches\": [],\n \"checked_files\": 20,\n \"scope\": \"copied immutable source data only; no Git/public mutation; no mathematical verification\"\n}\n" + }, + { + "path": "auditor-selftest/REPORT.json", + "bytes": 6552, + "sha256": "a5ac2b1d658387396b1bfd8f9b704e03d4f89b342bb4b67e3a63c74095d7ae66", + "utf8": "{\n \"mutations\": [\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"owned_axiom\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"extra_constant\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"hidden_user_theorem\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"hidden_user_definition\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"axiom_closure\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_duplicate_names_and_module_counts_refuse\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"module_count\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_missing_or_changed_support_record_refuses\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"missing_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_module_system_and_codegen_extras_fail_closed\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"codegen_extras\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_codegen_extras_are_exactly_bound_not_ignored\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"codegen_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"unsafe_partial\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"unsupported_kind\"\n },\n {\n \"exit\": 1,\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"actual_opaque_export\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"owned_axiom\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"extra_constant\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"hidden_user_theorem\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"hidden_user_definition\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"axiom_closure\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_duplicate_names_and_module_counts_refuse\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"module_count\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_missing_or_changed_support_record_refuses\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"missing_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_module_system_and_codegen_extras_fail_closed\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"codegen_extras\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_codegen_extras_are_exactly_bound_not_ignored\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"codegen_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"unsafe_partial\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"unsupported_kind\"\n },\n {\n \"exit\": 1,\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"actual_opaque_export\"\n }\n ],\n \"schema\": \"cap.auditor-mutations.v1\",\n \"source_preserved\": true,\n \"source_sha256\": {\n \".gitignore\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\",\n \"ALIGNMENT.md\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\",\n \"CBZ_ADMISSION.md\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\",\n \"CapFirstExit.lean\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\",\n \"MANIFEST.json\": \"46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b\",\n \"README.md\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\",\n \"compiled_inventory.py\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"gate.py\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\",\n \"lake-manifest.json\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\",\n \"lakefile.toml\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\",\n \"lean-toolchain\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\",\n \"lean_opaque_control.py\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\",\n \"run_cbz_mutations.py\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\",\n \"test_compiled_inventory.py\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\",\n \"test_gate.py\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\",\n \"test_mutation_accounting.py\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\",\n \"test_process_retention.py\": \"d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37\",\n \"test_runtime_boundary.py\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\",\n \"test_source_admission.py\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\",\n \"test_timeout_exit_zero.py\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n },\n \"threshold\": \"all12 named mutations in each Python mode\"\n}\n" + }, + { + "path": "auditor-selftest/normal-axiom_closure.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-axiom_closure.process.json", + "bytes": 393, + "sha256": "1b492665948b75d38f4b5e52bd2c6aa924c02d44f741d66733185dea17c47629", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unused_sorry_and_custom_axiom_closure_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-axiom_closure.stderr", + "bytes": 1019, + "sha256": "bc72356596103365dcda2aa74e87c0b5e6febf3a3d524733410288b1ec491b12", + "utf8": "test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 190, in test_unused_sorry_and_custom_axiom_closure_refuse\n self.reject(transcript(axioms=[enc(axiom)]), 'forbidden_axiom')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-axiom_closure.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-baseline.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-baseline.process.json", + "bytes": 325, + "sha256": "03fc55a2ec69d516f7ed07c4b030eb1699c945013edca86c2ac9f95ff4ef2c8f", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-baseline.stderr", + "bytes": 3646, + "sha256": "c968b8f408322927dc35915072b574c76edd41bd6f8ca85a3180d7b9c8a738ef", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n----------------------------------------------------------------------\nRan 34 tests in 0.047s\n\nOK\n" + }, + { + "path": "auditor-selftest/normal-baseline.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-codegen_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-codegen_binding.process.json", + "bytes": 393, + "sha256": "f78da3086898f8eccb836997a3aa43faa0ab5f9db782e70cdf270ef87bc52f89", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_codegen_extras_are_exactly_bound_not_ignored\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + } + ], + "scope": "94 unit tests per Python mode and24 finite named auditor mutations on exact frozen source. Actual final package gate and hosted verification remain separate; no CBZ or scientific acceptance." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-02.json b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-02.json new file mode 100644 index 000000000..6f4c8e882 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-02.json @@ -0,0 +1,301 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "frozen-python-auditor-qualification", + "records": [ + { + "path": "auditor-selftest/normal-codegen_binding.stderr", + "bytes": 757, + "sha256": "d384786b0cab240139427d1488e8613520b63ee24514fc3b7b0aa008e4acc037", + "utf8": "test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 169, in test_codegen_extras_are_exactly_bound_not_ignored\n self.codegen_call(text,[])\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-codegen_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-codegen_extras.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-codegen_extras.process.json", + "bytes": 393, + "sha256": "d80c551f69639644f9145ff78c9802a9078a839d9d49ea7d954c03b730b36874", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_module_system_and_codegen_extras_fail_closed\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-codegen_extras.stderr", + "bytes": 1005, + "sha256": "1249692ea267bdd46d547ce378805a8829de7c8da89feadb0eece5b204113039", + "utf8": "test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 147, in test_module_system_and_codegen_extras_fail_closed\n self.reject(transcript(extra=1), 'codegen_extra')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-codegen_extras.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-extra_constant.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-extra_constant.process.json", + "bytes": 408, + "sha256": "80f4f7ef5261e79f1159e8bd74d1d6853fe78636d48bb2ec91ab2f99e0de1e3e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_compiler_shaped_added_theorem_is_not_automatically_admitted\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-extra_constant.stderr", + "bytes": 1066, + "sha256": "80e8f946eb861cd926b52976a9995fb520ca8219c148c954687d03aff2018b07", + "utf8": "test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 117, in test_compiler_shaped_added_theorem_is_not_automatically_admitted\n self.reject(transcript(ROWS + [hidden]), 'unregistered_constant')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-extra_constant.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-hidden_user_definition.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_definition.process.json", + "bytes": 405, + "sha256": "7a1ba12458e67ff1cfeeab4270417c865f217e3dfd1d5772b3ea6fabb57adb60", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_user_definition_cannot_be_laundered_as_structure_support\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_definition.stderr", + "bytes": 1080, + "sha256": "94931eccbd8cd10a39980d7e6066fde49e576af1f614e7343f973ae1685ec65b", + "utf8": "test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 93, in test_user_definition_cannot_be_laundered_as_structure_support\n self.reject(transcript(ROWS + [hidden]), 'extra_user_definition', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_definition.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-hidden_user_theorem.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_theorem.process.json", + "bytes": 410, + "sha256": "d51948145b79c2d90c1be5b9378772082f2107f3b7448a3f3a40487d7796d536", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_theorem.stderr", + "bytes": 1092, + "sha256": "f2d5feb02a2fbeb82f977b29443d59b1053d4717f9d99871182b234a09b01793", + "utf8": "test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 85, in test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\n self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-hidden_user_theorem.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-missing_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-missing_binding.process.json", + "bytes": 390, + "sha256": "9fa8c0c1be55740c18f0e1138072da11f771b0174f5c680cf75d94a5b15650b5", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_missing_or_changed_support_record_refuses\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-missing_binding.stderr", + "bytes": 1009, + "sha256": "d532f8c2f05b5afd74d77a472e68d35fcb04b93d79ae6d13fd97aac23398ec9b", + "utf8": "test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 126, in test_missing_or_changed_support_record_refuses\n self.reject(transcript(), 'missing_constant', BOUND + [extra])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-missing_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-module_count.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-module_count.process.json", + "bytes": 389, + "sha256": "f193f80e74290905f4e0e80a4d0e527b2344cbfcf81dfaaa93beaa6597076996", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_duplicate_names_and_module_counts_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-module_count.stderr", + "bytes": 994, + "sha256": "b7ce530dfc304deaffbde52ceda3a3302d755501252d70466c2857e24827c904", + "utf8": "test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 138, in test_duplicate_names_and_module_counts_refuse\n self.reject(transcript(count=8), 'count_mismatch')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-module_count.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/Inventory.lean", + "bytes": 3980, + "sha256": "d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if false then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/RESULT.json", + "bytes": 2041, + "sha256": "0973271d54d6feb56156264ccac397f56d5678b252d38a17257efc8f9586405a", + "utf8": "{\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"bde899df41f9676fd6ca47d9b2799f4cdc7ff4d0cd0db075ccda61f9de9d0922\",\n \"program_sha256\": \"d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/compile.process.json", + "bytes": 592, + "sha256": "6aefd812cf61dd4875baa95b3f3a74a48e73548175b2378324126913013e8f8f", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/export.process.json", + "bytes": 553, + "sha256": "aad9cb2bd4e380ba6c084290df5f53cc5fb84990a3641084c418e20825df9a09", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/export.stdout", + "bytes": 251, + "sha256": "00b6e6720eaa0a0b5ca5d46ecc3a2136e8cd518c713e008f15bfa2481259dd31", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/version.process.json", + "bytes": 337, + "sha256": "f189832094820e11f23791b53a6f8b6dcf5d5881ab247d60ada911f5400c0031", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-mutant/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant-observer.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant-observer.process.json", + "bytes": 551, + "sha256": "69fe7b67955070beee2727e3f849afe3f5b84009cde5f8e49a02eb0e0ce08947", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-mutant\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant-observer.stderr", + "bytes": 733, + "sha256": "d54d8b2f8416f197749c8eed25d98393d6c17cbd1f2f99b03bec59e56fa80331", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... FAIL\n\n======================================================================\nFAIL: runTest (__main__.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/lean_opaque_control.py\", line 54, in runTest\n self.assertEqual(hazards[0][4],'unsafe','ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH')\nAssertionError: 'safe' != 'unsafe'\n- safe\n+ unsafe\n? ++\n : ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH\n\n----------------------------------------------------------------------\nRan 1 test in 1.439s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-opaque-mutant-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-positive/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "b2xlYW4CATQuMzQuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUwNDVkMDA1NjQxMzI2NmU1N2M2MjVkY2Q3YzM2NWIxMGUzNzdjNTIAAHlNgm0AAOAXeU2CbQAAAAAAAAEAAPkFAAAAAAAAAAUAAAAAAAAABAAAAAAAAABJbml0AAAAAAAAAAAgAAIBAQAAAAAAAABgAHlNgm0AAJhmDLPI3B4aAAAAABgAAQCIAHlNgm0AAAABAAAAAAAAAAAAABgAAQCIAHlNgm0AAAABAQAAAAAAAAAAAAEAAPYCAAAAAAAAAAIAAAAAAAAAqAB5TYJtAADAAHlNgm0AAAAAAAABAAD5DQAAAAAAAAANAAAAAAAAAAwAAAAAAAAAQ2FwRmlyc3RFeGl0AAAAAAAAAAAgAAIBAQAAAAAAAAAAAXlNgm0AAOWKeU2CwW/xAAAAAAEAAPkIAAAAAAAAAAgAAAAAAAAABwAAAAAAAAB2aXNpYmxlAAAAAAAgAAIBMAF5TYJtAABQAXlNgm0AAFUrCLv+KShjAAAAAAEAAPkNAAAAAAAAAA0AAAAAAAAADAAAAAAAAABvcGFxdWVIYXphcmQAAAAAAAAAACAAAgEwAXlNgm0AAJgBeU2CbQAAX50AuHylr5kAAAAAAQAA9gIAAAAAAAAAAgAAAAAAAAB4AXlNgm0AAMgBeU2CbQAAAAAAAAEAAPkFAAAAAAAAAAUAAAAAAAAABAAAAAAAAABUcnVlAAAAAAAAAAAgAAIBAQAAAAAAAAAQAnlNgm0AAE4VZ4N2DbukAAAAACAAAgQ4AnlNgm0AAAEAAAAAAAAAmrv0wgAAAAAAAAAAIAADAHgBeU2CbQAAAQAAAAAAAABYAnlNgm0AAAAAAAABAAD5BgAAAAAAAAAGAAAAAAAAAAUAAAAAAAAAaW50cm8AAAAAAAAAIAACATgCeU2CbQAAmAJ5TYJtAACxmHvb3La9+gAAAAAgAAIEwAJ5TYJtAAABAAAAAAAAAKajTXYAAAAAAAAAABgAAgF4AXlNgm0AAAEAAAAAAAAAAAAAACAAAwB4AnlNgm0AAOACeU2CbQAAAAN5TYJtAAAAAAAAEAABAhgDeU2CbQAAAAAAAAEAAPkEAAAAAAAAAAQAAAAAAAAAAwAAAAAAAABOYXQAAAAAAAAAAAAgAAIBAQAAAAAAAABIA3lNgm0AAJvd32g6DcyeAAAAACAAAgRwA3lNgm0AAAEAAAAAAAAANCcdGQAAAAAAAAAAIAADAMgBeU2CbQAAAQAAAAAAAACQA3lNgm0AAAAAAAABAAD5BgAAAAAAAAAGAAAAAAAAAAUAAAAAAAAAT2ZOYXQAAAAAAAAAIAACAQEAAAAAAAAA0AN5TYJtAACH8aZs89jB9AAAAAABAAD5BgAAAAAAAAAGAAAAAAAAAAUAAAAAAAAAb2ZOYXQAAAAAAAAAIAACAfgDeU2CbQAAGAR5TYJtAAACbDoiZDEy2AAAAAAYAAIBAQAAAAAAAAABAAAAAAAAAAAAAAAgAAIEQAR5TYJtAABgBHlNgm0AADBJtxgAAAAAAAAAACAAAgV4BHlNgm0AAJADeU2CbQAACYXyXAEAAAAAAAAAEAABAAEAAAAAAAAAAAAAABgAAQm4BHlNgm0AAE56PIQAAAAAAAAAACAAAgWYBHlNgm0AAMgEeU2CbQAASJVDFwIAAAAAAAAAAQAA+Q0AAAAAAAAADQAAAAAAAAAMAAAAAAAAAGluc3RPZk5hdE5hdAAAAAAAAAAAIAACAQEAAAAAAAAAAAV5TYJtAADZCKwss/6TXwAAAAAgAAIEMAV5TYJtAAABAAAAAAAAAAjpABIAAAAAAAAAACAAAgVQBXlNgm0AAMgEeU2CbQAA3SKP2wEAAAAAAAAAIAACBeAEeU2CbQAAcAV5TYJtAAAOHYCMAwAAAAAAAAAYAAIByAF5TYJtAAABAAAAAAAAAAAAAAAoAAMAsAN5TYJtAACQBXlNgm0AALAFeU2CbQAAAQAAAAAAAAAAAAAAEAABA8gFeU2CbQAAAAAAAAEAAPYCAAAAAAAAAAIAAAAAAAAAOAN5TYJtAADwBXlNgm0AAAAAAAABAAD2AAAAAAAAAAAAAAAAAAAAAAAAAAABAAD5BQAAAAAAAAAFAAAAAAAAAAQAAAAAAAAATGVhbgAAAAAAAAAAIAACAQEAAAAAAAAAQAZ5TYJtAABGwVN+6UPQpQAAAAABAAD5DQAAAAAAAAANAAAAAAAAAAwAAAAAAAAAZGVjbFJhbmdlRXh0AAAAAAAAAAAgAAIBaAZ5TYJtAACIBnlNgm0AAAZz3OkpbngSAAAAABgAAgAHAAAAAAAAAAEAAAAAAAAAAAAAABgAAgAHAAAAAAAAAEkAAAAAAAAAAAAAACgABADYBnlNgm0AAAEAAAAAAAAA8AZ5TYJtAABJAAAAAAAAAAAAAAAYAAIABwAAAAAAAAARAAAAAAAAAAAAAAAYAAIABwAAAAAAAAAfAAAAAAAAAAAAAAAoAAQAMAd5TYJtAAARAAAAAAAAAEgHeU2CbQAAHwAAAAAAAAAAAAAAGAACAAgHeU2CbQAAYAd5TYJtAAAAAAAAGAACAHgBeU2CbQAAiAd5TYJtAAAAAAAAGAACAAUAAAAAAAAAAQAAAAAAAAAAAAAAGAACAAUAAAAAAAAASwAAAAAAAAAAAAAAKAAEALgHeU2CbQAAAQAAAAAAAADQB3lNgm0AAEsAAAAAAAAAAAAAABgAAgAFAAAAAAAAAB0AAAAAAAAAAAAAABgAAgAFAAAAAAAAADUAAAAAAAAAAAAAACgABAAQCHlNgm0AAB0AAAAAAAAAKAh5TYJtAAA1AAAAAAAAAAAAAAAYAAIA6Ad5TYJtAABACHlNgm0AAAAAAAAYAAIAyAF5TYJtAABoCHlNgm0AAAAAAAABAAD2AgAAAAAAAAACAAAAAAAAAKAHeU2CbQAAgAh5TYJtAAAAAAAAGAACALgGeU2CbQAAmAh5TYJtAAAAAAAAAQAA+QkAAAAAAAAACQAAAAAAAAAIAAAAAAAAAF9wcml2YXRlAAAAAAAAAAAAAAAAIAACAQEAAAAAAAAA2Ah5TYJtAABn1ktQIsbBmQAAAAAgAAIBCAl5TYJtAABABnlNgm0AAFoSfoIS1qyPAAAAAAEAAPkKAAAAAAAAAAoAAAAAAAAACQAAAAAAAABOYW1lc3BhY2UAAAAAAAAAAAAAACAAAgEoCXlNgm0AAEgJeU2CbQAAOVC0q6DWPycAAAAAIAACAngJeU2CbQAAAQAAAAAAAAAcnZ462GYVDAAAAAAgAAIBmAl5TYJtAABABnlNgm0AAD0XlF3BztezAAAAAAEAAPkOAAAAAAAAAA4AAAAAAAAADQAAAAAAAABuYW1lc3BhY2VzRXh0AAAAAAAAACAAAgG4CXlNgm0AANgJeU2CbQAA0qmFTf4stfoAAAAAAQAA9gEAAAAAAAAAAQAAAAAAAAAwAXlNgm0AAAAAAAAYAAIACAp5TYJtAAAoCnlNgm0AAAAAAAABAAD5BQAAAAAAAAAFAAAAAAAAAAQAAAAAAAAAVXRpbAAAAAAAAAAAIAACASgJeU2CbQAAYAp5TYJtAAAsFJs+oB4TnAAAAAABAAD5DgAAAAAAAAAOAAAAAAAAAA0AAAAAAAAAQ29sbGVjdEF4aW9tcwAAAAAAAAAgAAIBiAp5TYJtAACoCnlNgm0AAKM3/SMvzCfeAAAAACAAAgLYCnlNgm0AAAEAAAAAAAAAbntyZLMgczoAAAAAIAACAfgKeU2CbQAAQAZ5TYJtAACXUanaump7xwAAAAABAAD5EgAAAAAAAAASAAAAAAAAABEAAAAAAAAAZXhwb3J0ZWRBeGlvbXNFeHQAAAAAAAAAAAAAACAAAgEYC3lNgm0AADgLeU2CbQAAwKXIu3TgPcQAAAAAGAACAHgBeU2CbQAAKAZ5TYJtAAAAAAAAGAACAMgBeU2CbQAAKAZ5TYJtAAAAAAAAAQAA9gIAAAAAAAAAAgAAAAAAAACQC3lNgm0AAKgLeU2CbQAAAAAAABgAAgBwC3lNgm0AAMALeU2CbQAAAAAAAAEAAPkJAAAAAAAAAAkAAAAAAAAACAAAAAAAAABDb21waWxlcgAAAAAAAAAAAAAAACAAAgEoCXlNgm0AAAAMeU2CbQAASPXjHKxm1xQAAAAAAQAA+QoAAAAAAAAACgAAAAAAAAAJAAAAAAAAAE1vZFBrZ0V4dAAAAAAAAAAAAAAAIAACATAMeU2CbQAAUAx5TYJtAABLzBse5aub5gAAAAAgAAICgAx5TYJtAAABAAAAAAAAADYYXW9UTGdGAAAAACAAAgGgDHlNgm0AAEAGeU2CbQAAX2d1t3DWFG4AAAAAAQAA+QoAAAAAAAAACgAAAAAAAAAJAAAAAAAAAG1vZFBrZ0V4dAAAAAAAAAAAAAAAIAACAcAMeU2CbQAA4Ax5TYJtAACzhw6n0Qv5UwAAAAABAAD2AQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAABgAAgAQDXlNgm0AADANeU2CbQAAAAAAAAEAAPkDAAAAAAAAAAMAAAAAAAAAAgAAAAAAAABJUgAAAAAAAAAAAAAgAAIBaAZ5TYJtAABoDXlNgm0AAOHcc5bwi28MAAAAAAEAAPkLAAAAAAAAAAsAAAAAAAAACgAAAAAAAABkZWNsTWFwRXh0AAAAAAAAAAAAACAAAgGQDXlNgm0AALANeU2CbQAAsOyWLR2SfGoAAAAAEAABC7gEeU2CbQAAAAAAABAAAQADAAAAAAAAAAAAAAAQAAEKEA55TYJtAAAAAAAAKAAEAAMAAAAAAAAAGQAAAAAAAAAADnlNgm0AACAOeU2CbQAAAAAAADAABQDIAXlNgm0AACgGeU2CbQAAEQAAAAAAAAAwDnlNgm0AAAEAAAAAAAAAAAAAAAEAAPYBAAAAAAAAAAEAAAAAAAAAWA55TYJtAAAAAAAAGAACAOANeU2CbQAAiA55TYJtAAAAAAAAAQAA+Q0AAAAAAAAADQAAAAAAAAAMAAAAAAAAAEV4dHJhTW9kVXNlcwAAAAAAAAAAIAACASgJeU2CbQAAwA55TYJtAADCRX2PdcglZwAAAAAgAAIC8A55TYJtAAABAAAAAAAAAKN9YpEb8outAAAAACAAAgEQD3lNgm0AAEAGeU2CbQAA7lAtUFXsT3UAAAAAAQAA+Q0AAAAAAAAADQAAAAAAAAAMAAAAAAAAAGV4dHJhTW9kVXNlcwAAAAAAAAAAIAACATAPeU2CbQAAUA95TYJtAABC8dQEoz4FlAAAAAABAAD5CAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAVGFjdGljcwAAAAAAIAACAYgAeU2CbQAAoA95TYJtAADqmN02rlbbLgAAAAAYAAEAyA95TYJtAAAAAAAAAAAAAAAAAAABAAD2AgAAAAAAAAACAAAAAAAAAOgPeU2CbQAA6A95TYJtAAAAAAAAGAACAIAPeU2CbQAAABB5TYJtAAAAAAAAIAACAWgGeU2CbQAAAAx5TYJtAABEw0gLbYiPdgAAAAABAAD5BQAAAAAAAAAFAAAAAAAAAAQAAAAAAAAATENORgAAAAAAAAAAIAACAUAQeU2CbQAAYBB5TYJtAADlTPU5BQgsuAAAAAABAAD5CAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAYmFzZUV4dAAAAAAAIAACAYgQeU2CbQAAqBB5TYJtAACR36V+B7G3JgAAAAAwAAQAyAF5TYJtAAABAAAAAAAAAJADeU2CbQAAKAZ5TYJtAAAAAAAAAAAAAAAAAAABAAD5BgAAAAAAAAAGAAAAAAAAAAUAAAAAAAAAX3VuaXEAAAAAAAAAIAACAQEAAAAAAAAAIBF5TYJtAADtjaKqyko3NwAAAAAgAAICSBF5TYJtAAADAAAAAAAAAHSjWH69l3IiAAAAAAEAAPkDAAAAAAAAAAMAAAAAAAAAAgAAAAAAAABfeAAAAAAAAAAAAAAgAAIBAQAAAAAAAACIEXlNgm0AALUBHPsLCdlqAAAAACAAAgKwEXlNgm0AAAMAAAAAAAAArGpAu3gI+hAAAAAAEAABALgEeU2CbQAAAAAAACgABABoEXlNgm0AANAReU2CbQAAkAN5TYJtAADwEXlNgm0AAAAAAAAQAAEFaBF5TYJtAAAAAAAAGAACAAASeU2CbQAAKBJ5TYJtAAAAAAAAEAABADgSeU2CbQAAAAAAACgAAwDwEHlNgm0AAFASeU2CbQAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAD2AQAAAAAAAAABAAAAAAAAAGASeU2CbQAAAAAAABgAAgDQEHlNgm0AAIgSeU2CbQAAAAAAAAEAAPkIAAAAAAAAAAgAAAAAAAAABwAAAAAAAABtb25vRXh0AAAAAAAgAAIBiBB5TYJtAADAEnlNgm0AAKFHwxQ1S2e7AAAAABgAAgDoEnlNgm0AAIgSeU2CbQAAAAAAAAEAAPkNAAAAAAAAAA0AAAAAAAAADAAAAAAAAABpbXB1cmVTaWdFeHQAAAAAAAAAACAAAgGIEHlNgm0AACATeU2CbQAA9ZaaOMHMk+0AAAAAAQAA+QUAAAAAAAAABQAAAAAAAAAEAAAAAAAAAHRvYmoAAAAAAAAAACAAAgEBAAAAAAAAAHATeU2CbQAAGaiKFMuN6QwAAAAAIAACBJgTeU2CbQAAAQAAAAAAAAB/Tf9zAAAAAAAAAAAwAAQAyAF5TYJtAAABAAAAAAAAALgTeU2CbQAAKAZ5TYJtAAAAAAAAAAAAAAAAAAABAAD2AQAAAAAAAAABAAAAAAAAANgTeU2CbQAAAAAAABgAAgBQE3lNgm0AAAgUeU2CbQAAAAAAAAEAAPkUAAAAAAAAABQAAAAAAAAAEwAAAAAAAABVbnJlYWNoYWJsZUJyYW5jaGVzAAAAAAAAAAAAIAACAYgQeU2CbQAAQBR5TYJtAADGgodFmw5ggwAAAAABAAD5FQAAAAAAAAAVAAAAAAAAABQAAAAAAAAAZnVuY3Rpb25TdW1tYXJpZXNFeHQAAAAAAAAAACAAAgF4FHlNgm0AAJgUeU2CbQAA0tn5EcOY1FkAAAAAGAACAMgBeU2CbQAAAwAAAAAAAAAAAAAAAQAA9gEAAAAAAAAAAQAAAAAAAADwFHlNgm0AAAAAAAAYAAIA0BR5TYJtAAAIFXlNgm0AAAAAAAABAAD5FAAAAAAAAAAUAAAAAAAAABMAAAAAAAAAZGVwcmVjYXRlZE1vZHVsZUV4dAAAAAAAAAAAACAAAgFoBnlNgm0AAEAVeU2CbQAAcKcL5Kb9kcUAAAAAGAACAHgVeU2CbQAAMA15TYJtAAAAAAAAAQAA+RAAAAAAAAAAEAAAAAAAAAAPAAAAAAAAAHN5bWJvbEZyZXF1ZW5jeQAAAAAAIAACAQEAAAAAAAAAsBV5TYJtAAAKITO2ykRoQgAAAAAwAAUAAwAAAAAAAAA4AnlNgm0AAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAD2AQAAAAAAAAABAAAAAAAAAAAWeU2CbQAAAAAAABgAAgDgFXlNgm0AADAWeU2CbQAAAAAAAAEAAPkLAAAAAAAAAAsAAAAAAAAACgAAAAAAAABzaW5lUXVlTm9uAAAAAAAAAAAAACAAAgEBAAAAAAAAAGgWeU2CbQAAQ1Q78XHGKi8AAAAAEAAAAAAAAAAAAPA/AAAAABgAAgB4AXlNgm0AALgWeU2CbQAAAAAAABgAAgHIFnlNgm0AAAEAAAAAAAAAAAAAADAABQADAAAAAAAAADgCeU2CbQAA4BZ5TYJtAAADAAAAAAAAAAMAAAAAAAAAAAAAAAEAAPYBAAAAAAAAAAEAAAAAAAAA+BZ5TYJtAAAAAAAAGAACAJgWeU2CbQAAKBd5TYJtAAAAAAAAAQAA9g0AAAAAAAAADQAAAAAAAADACHlNgm0AAEgKeU2CbQAA6At5TYJtAABQDXlNgm0AAKgOeU2CbQAAKBB5TYJtAACoEnlNgm0AAAgTeU2CbQAAKBR5TYJtAAAoFXlNgm0AAJgVeU2CbQAAUBZ5TYJtAABIF3lNgm0AAAAAAAA4AAUA2AB5TYJtAADoAXlNgm0AAAAGeU2CbQAAKAZ5TYJtAABgF3lNgm0AAAAAAAAAAAAA" + } + ], + "scope": "94 unit tests per Python mode and24 finite named auditor mutations on exact frozen source. Actual final package gate and hosted verification remain separate; no CBZ or scientific acceptance." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-03.json b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-03.json new file mode 100644 index 000000000..2b5506ebb --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-03.json @@ -0,0 +1,409 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "frozen-python-auditor-qualification", + "records": [ + { + "path": "auditor-selftest/normal-opaque-positive/Inventory.lean", + "bytes": 3986, + "sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/RESULT.json", + "bytes": 2050, + "sha256": "de58921748d4b7a8397ac2729367d89003c7b92c490be46a07c85dc96282a20d", + "utf8": "{\n \"errors\": 0,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": true,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/compile.process.json", + "bytes": 596, + "sha256": "a4422b7ae4d0f5e1b060da3fdc9f689d5e31aba7ae1bd1871f89e9df169bd63b", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-positive/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-positive/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/export.process.json", + "bytes": 557, + "sha256": "5ca9dbf0fcda05e546270f340d470a164187fe38004b77af769b099b4736a8df", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-positive/export.stdout", + "bytes": 253, + "sha256": "650a6d859e5a945a03a99cf8446b6cb63508ef34cbca20e9e77e247afa4e5f68", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|unsafe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/version.process.json", + "bytes": 339, + "sha256": "c2b738ae0bac6a1696de9184c0089f0f368efde4cd0a0bfb88125499ad006bfa", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-opaque-positive/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive-observer.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive-observer.process.json", + "bytes": 553, + "sha256": "c390d96d65a2c1c4978d43241ca1a6aae2a189c3c3b5dbc761c53da7ba9b45f9", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/normal-opaque-positive\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive-observer.stderr", + "bytes": 154, + "sha256": "348bc9aa61a7dbb4879a4c5cfaeaa28f28cd7efdc74f214febc95830aeaca366", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 7.491s\n\nOK\n" + }, + { + "path": "auditor-selftest/normal-opaque-positive-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-owned_axiom.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-owned_axiom.process.json", + "bytes": 405, + "sha256": "6d71055ca6485d635320ba490c59ed04c564d158d834af37fabff26c15b2c14f", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-owned_axiom.stderr", + "bytes": 1067, + "sha256": "e9f10e1406261ad326c68e4850b53f66402b9d853e6c6bb07d847a06542126e1", + "utf8": "test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 186, in test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\n self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-owned_axiom.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-unsafe_partial.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-unsafe_partial.process.json", + "bytes": 397, + "sha256": "aef6310389080d15042bdee5b7438f46dcbad1d73bb411fc14d25483ba0c9748", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unsafe_or_partial_constant_refuses_even_if_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-unsafe_partial.stderr", + "bytes": 1043, + "sha256": "7899886aeab9ce2978e7003e882c9b7f7acd502f3dd5a0f99916231135d7bbe8", + "utf8": "test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 199, in test_unsafe_or_partial_constant_refuses_even_if_bound\n self.reject(transcript(ROWS+[row]), 'unsafe_or_partial', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-unsafe_partial.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/normal-unsupported_kind.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/normal-unsupported_kind.process.json", + "bytes": 387, + "sha256": "ea2b6d2d41b863f9182a1188bc5bacf6246a9341d51932ef48d3c191bc101852", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_opaque_and_quot_never_self_admit\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/normal-unsupported_kind.stderr", + "bytes": 1018, + "sha256": "47b701c39950aaa69eb2ddd522b3dd0a8f0602b00a12a867bf9bf167fc359083", + "utf8": "test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 204, in test_owned_opaque_and_quot_never_self_admit\n self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/normal-unsupported_kind.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-axiom_closure.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-axiom_closure.process.json", + "bytes": 406, + "sha256": "9fd2f0a3c2ce00ea385d13c23ed370a7dab608241c4cb65693f0508144e5433e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unused_sorry_and_custom_axiom_closure_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-axiom_closure.stderr", + "bytes": 1025, + "sha256": "d6168337af7aef64ab0da9e94f841190f1e5d05abb8c2fb28adf5a1e1401b7be", + "utf8": "test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 190, in test_unused_sorry_and_custom_axiom_closure_refuse\n self.reject(transcript(axioms=[enc(axiom)]), 'forbidden_axiom')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-axiom_closure.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-baseline.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-baseline.process.json", + "bytes": 338, + "sha256": "aa9d461250923ead25530e2ade86cbe3a129a194bf538e40d517cecd513ddeab", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-baseline.stderr", + "bytes": 3646, + "sha256": "9b5db6012cb79ed4cdd121a467494db980f15ff3ebd94745de80cc9d11bbfb03", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n----------------------------------------------------------------------\nRan 34 tests in 0.050s\n\nOK\n" + }, + { + "path": "auditor-selftest/optimized-baseline.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-codegen_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-codegen_binding.process.json", + "bytes": 406, + "sha256": "4bb190a4bf881bb987133aa359b42c5271db0016131cc5369ded3b7b18e7c068", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_codegen_extras_are_exactly_bound_not_ignored\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-codegen_binding.stderr", + "bytes": 760, + "sha256": "5882de71911d9b185feebc6aa38946461cb9e3b08a2a1797107347e209e20e70", + "utf8": "test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 169, in test_codegen_extras_are_exactly_bound_not_ignored\n self.codegen_call(text,[])\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-codegen_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-codegen_extras.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-codegen_extras.process.json", + "bytes": 406, + "sha256": "00139cf5a618a19f42255647848093beb09a87dd204954ead35ad86f81383fc9", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_module_system_and_codegen_extras_fail_closed\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-codegen_extras.stderr", + "bytes": 1011, + "sha256": "d6252365e9a47ff4a6f462e42306bb455d9709c5d8d274b7bd2e1a0806c67323", + "utf8": "test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 147, in test_module_system_and_codegen_extras_fail_closed\n self.reject(transcript(extra=1), 'codegen_extra')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-codegen_extras.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-extra_constant.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-extra_constant.process.json", + "bytes": 421, + "sha256": "bf16effeb99117f35284f7f0c0e42706c1f6f8d5bf4f1c4b1c2d794a442c0a39", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_compiler_shaped_added_theorem_is_not_automatically_admitted\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-extra_constant.stderr", + "bytes": 1072, + "sha256": "23d7236e87b3285373084ee1c98790f550d2fe8c79c42b1e4df4f7e1b0b29a47", + "utf8": "test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 117, in test_compiler_shaped_added_theorem_is_not_automatically_admitted\n self.reject(transcript(ROWS + [hidden]), 'unregistered_constant')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-extra_constant.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-hidden_user_definition.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_definition.process.json", + "bytes": 418, + "sha256": "ea1dc311f7cb2d2b95b7b1960e6d68ea480a2f285b45bce316bca8c99a6d776c", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_user_definition_cannot_be_laundered_as_structure_support\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_definition.stderr", + "bytes": 1086, + "sha256": "1a952a0f687eb62fc1c91eab831dd3685c99216edd9cdf59a5fde35ae202525a", + "utf8": "test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 93, in test_user_definition_cannot_be_laundered_as_structure_support\n self.reject(transcript(ROWS + [hidden]), 'extra_user_definition', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_definition.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-hidden_user_theorem.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_theorem.process.json", + "bytes": 423, + "sha256": "ef88d8199689432a5742b9f89c2be6cf60f58c11b355ad80e8a4bbfa7419963a", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_theorem.stderr", + "bytes": 1098, + "sha256": "638b292c4a44c6d4ec3432649e505b67b0c9c0ab10684d21fb0c787280a3a55b", + "utf8": "test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 85, in test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\n self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-hidden_user_theorem.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-missing_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-missing_binding.process.json", + "bytes": 403, + "sha256": "92898c855acad0f706769fb2a208fa1d2f57dab1e731576ae81385b93d4317a9", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_missing_or_changed_support_record_refuses\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-missing_binding.stderr", + "bytes": 1015, + "sha256": "b1e20bbc4e18fef827e777a270dc82596e05edd0bed8351ed89697d79f5c294c", + "utf8": "test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 126, in test_missing_or_changed_support_record_refuses\n self.reject(transcript(), 'missing_constant', BOUND + [extra])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-missing_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-module_count.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-module_count.process.json", + "bytes": 402, + "sha256": "07f6c2c5f9d7ee7a09ec40bde5568b162da9ffc21944c034e215677d3b4c44bd", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_duplicate_names_and_module_counts_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-module_count.stderr", + "bytes": 1000, + "sha256": "d4898e201545c9169dea786170cb82cc30bf16449c0ee4a750968ba40ac5e2c2", + "utf8": "test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 138, in test_duplicate_names_and_module_counts_refuse\n self.reject(transcript(count=8), 'count_mismatch')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-module_count.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + } + ], + "scope": "94 unit tests per Python mode and24 finite named auditor mutations on exact frozen source. Actual final package gate and hosted verification remain separate; no CBZ or scientific acceptance." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-04.json b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-04.json new file mode 100644 index 000000000..845864139 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-04.json @@ -0,0 +1,277 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "frozen-python-auditor-qualification", + "records": [ + { + "path": "auditor-selftest/optimized-opaque-mutant/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/Inventory.lean", + "bytes": 3980, + "sha256": "d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if false then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/RESULT.json", + "bytes": 2056, + "sha256": "25a5d0b3f2a2d9d66e96e0cecba4b5a5cd84a50bb293ec63d2a2028162855f52", + "utf8": "{\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"bde899df41f9676fd6ca47d9b2799f4cdc7ff4d0cd0db075ccda61f9de9d0922\",\n \"program_sha256\": \"d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/compile.process.json", + "bytes": 598, + "sha256": "77fede8090ac63add8d2ababb628e9dd825125377b48a2f2ea1d7926c66051ce", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/export.process.json", + "bytes": 559, + "sha256": "e85bd43715985352b3aaaba06e84182b50459c04adbe22ca310ede680005a8a8", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/export.stdout", + "bytes": 251, + "sha256": "00b6e6720eaa0a0b5ca5d46ecc3a2136e8cd518c713e008f15bfa2481259dd31", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/version.process.json", + "bytes": 340, + "sha256": "11c3e4f7d26f27381b83d116265f88afa01e250137f2c3a4b6ad64a3761b431e", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant-observer.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant-observer.process.json", + "bytes": 567, + "sha256": "e3747c8e3b479e634dee61eb2e1d605f3495b4098bf1a83e22ec5606dad38c1b", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-mutant\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant-observer.stderr", + "bytes": 736, + "sha256": "61ac759eda8b99c28febe98606536f281323146bc470efea4b5a530e513b8919", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... FAIL\n\n======================================================================\nFAIL: runTest (__main__.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/lean_opaque_control.py\", line 54, in runTest\n self.assertEqual(hazards[0][4],'unsafe','ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH')\nAssertionError: 'safe' != 'unsafe'\n- safe\n+ unsafe\n? ++\n : ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH\n\n----------------------------------------------------------------------\nRan 1 test in 3.236s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-opaque-mutant-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/Inventory.lean", + "bytes": 3986, + "sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/RESULT.json", + "bytes": 2065, + "sha256": "8c734da34c6f70b366ef0271bd304f0c29689d2943e53f9387fd43e1a5ae4801", + "utf8": "{\n \"errors\": 0,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": true,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/compile.process.json", + "bytes": 602, + "sha256": "a90df1a87e3178964623c74cd6e31a079615af2730681d0d75458c41a1e4aee8", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/export.process.json", + "bytes": 563, + "sha256": "0a031c0119de7d69e51037d38245b8be7b1cfbd9ee57bcf4a7412201c3aa39f8", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/export.stdout", + "bytes": 253, + "sha256": "650a6d859e5a945a03a99cf8446b6cb63508ef34cbca20e9e77e247afa4e5f68", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|unsafe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/version.process.json", + "bytes": 342, + "sha256": "637d1e577b42305dce797290312095bbd39ab0e1b5a8f7e54aa85e9c38be850c", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-opaque-positive/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive-observer.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive-observer.process.json", + "bytes": 569, + "sha256": "ffe21588732e35868cea81e04d4232f687247c6ba200070fac09834e0725920e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/optimized-opaque-positive\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive-observer.stderr", + "bytes": 154, + "sha256": "c62d6f7864e7e79f5e4015ff124e3b9e5ff0cb00bb5d5f05b54d13f0ae48e067", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 1.581s\n\nOK\n" + }, + { + "path": "auditor-selftest/optimized-opaque-positive-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-owned_axiom.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-owned_axiom.process.json", + "bytes": 418, + "sha256": "a07a2baf2acbd1604e1d190f034db668808b0a636cf7d918d0e1a586c04532e1", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-owned_axiom.stderr", + "bytes": 1073, + "sha256": "428e166182d972b854cf3f80de9bca8b0f9e86e16a85165d61da98889fcb0796", + "utf8": "test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 186, in test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\n self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-owned_axiom.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-unsafe_partial.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + } + ], + "scope": "94 unit tests per Python mode and24 finite named auditor mutations on exact frozen source. Actual final package gate and hosted verification remain separate; no CBZ or scientific acceptance." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-05.json b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-05.json new file mode 100644 index 000000000..0ac79b148 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/frozen-qualification-05.json @@ -0,0 +1,49 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "frozen-python-auditor-qualification", + "records": [ + { + "path": "auditor-selftest/optimized-unsafe_partial.process.json", + "bytes": 410, + "sha256": "2466290087bc6f0838d587e2e72442c02e199dff1760458ea8ae21dedb782ce2", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unsafe_or_partial_constant_refuses_even_if_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-unsafe_partial.stderr", + "bytes": 1049, + "sha256": "d9bfb175cc8c94ad4a251115d2c287a75a150c484e4756e971978d15f4cd4734", + "utf8": "test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 199, in test_unsafe_or_partial_constant_refuses_even_if_bound\n self.reject(transcript(ROWS+[row]), 'unsafe_or_partial', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-unsafe_partial.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest/optimized-unsupported_kind.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest/optimized-unsupported_kind.process.json", + "bytes": 400, + "sha256": "01e99eb098dafb4fafe386227525b51178be77b9e4b8771efe37ffb9b104d928", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_opaque_and_quot_never_self_admit\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest/optimized-unsupported_kind.stderr", + "bytes": 1024, + "sha256": "b8f2d7657d9736c8fe4270d6524792e403b101e5866173322ef5aa5e81999ead", + "utf8": "test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 204, in test_owned_opaque_and_quot_never_self_admit\n self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-tmigu07x/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest/optimized-unsupported_kind.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + } + ], + "scope": "94 unit tests per Python mode and24 finite named auditor mutations on exact frozen source. Actual final package gate and hosted verification remain separate; no CBZ or scientific acceptance." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-01.json b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-01.json new file mode 100644 index 000000000..18e929166 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-01.json @@ -0,0 +1,121 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "historical-attempts", + "records": [ + { + "path": "opaque-exporter-before-fix/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "opaque-exporter-before-fix/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "opaque-exporter-before-fix/Inventory.lean", + "bytes": 3826, + "sha256": "7d8a9b364855ab94448cacbb9b37d604ea91f5d7d3eacdd9d8512fda7d26d242", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety : ConstantInfo → String\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "opaque-exporter-before-fix/RESULT.json", + "bytes": 725, + "sha256": "94da4e29fc92703181096b05562b3c0fd609544918e1dee6238fd31bdc3131fe", + "utf8": "{\n \"runs\": [\n {\n \"name\": \"compile\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"exit\": 0\n },\n {\n \"name\": \"export\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"exit\": 0\n }\n ],\n \"hazard_records\": [\n [\n \"opaque\",\n \"user\",\n [\n \"CapFirstExit\"\n ],\n [\n \"CapFirstExit\",\n \"opaqueHazard\"\n ],\n \"safe\"\n ]\n ],\n \"expected_safety\": \"unsafe\",\n \"control\": \"NOT_ASSERTED\"\n}\n" + }, + { + "path": "opaque-exporter-before-fix/SOURCE_IDENTITY.json", + "bytes": 302, + "sha256": "cc6dea7c3b5f9c02236f3856939b946e6b4911c438ebbbdebe93ea1fd209676f", + "utf8": "{\n \"implementation_sha256\": \"7de9cdbae307c41d7efbbb22e444f7332f9350764de40b393d968676d841429a\",\n \"program_sha256\": \"7d8a9b364855ab94448cacbb9b37d604ea91f5d7d3eacdd9d8512fda7d26d242\",\n \"note\": \"captured unchanged implementation after observed unsafe-opaque assertion failure and before its repair\"\n}\n" + }, + { + "path": "opaque-exporter-before-fix/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-before-fix/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-before-fix/compiled_inventory.py.txt", + "bytes": 13611, + "sha256": "7de9cdbae307c41d7efbbb22e444f7332f9350764de40b393d968676d841429a", + "utf8": "\"\"\"Cap-only compiled admission. Protocol primitives adapted from RF-GATE-01.\n\nSupplied text is not execution authentication. The gate must run the pinned Lean\nexporter and preserve its actual exit, streams, program/source/object identities.\n\"\"\"\nimport hashlib\nimport re\n\nMODULE_NAME = ('CapFirstExit',)\nALLOWED = frozenset({'propext', 'Classical.choice', 'Quot.sound'})\nKINDS = {'theorem', 'def', 'axiom', 'opaque', 'inductive', 'ctor', 'rec', 'quot'}\nCOMPONENT = r'(?:s(?:[0-9a-f]{2})*|n(?:0|[1-9][0-9]*))'\nENC = re.compile(COMPONENT + r'(?:/' + COMPONENT + r')*')\nAUX_SUFFIX = re.compile(r'_proof_[0-9]+|_simp_[0-9]+_[0-9]+|eq_[0-9]+|eq_def|match_[0-9]+')\n\n\ndef require(condition, reason):\n if not condition:\n raise ValueError(reason)\n\n\ndef decode(encoded):\n require(isinstance(encoded, str) and ENC.fullmatch(encoded), 'protocol: malformed encoded name')\n result = []\n for part in encoded.split('/'):\n if part[0] == 'n':\n result.append(int(part[1:]))\n else:\n try:\n result.append(bytes.fromhex(part[1:]).decode('utf-8'))\n except (ValueError, UnicodeDecodeError):\n raise ValueError('protocol: invalid UTF8 name') from None\n return tuple(result)\n\n\ndef encode(name):\n require(isinstance(name, tuple) and name, 'protocol: empty name')\n require(all(isinstance(x, str) or (type(x) is int and x >= 0) for x in name), 'protocol: invalid name component')\n return '/'.join('n' + str(x) if type(x) is int else 's' + x.encode('utf-8').hex() for x in name)\n\n\ndef dotted(name):\n require(isinstance(name, str) and name and all(p and not any(c.isspace() or c in '«»/|' for c in p)\n for p in name.split('.')), 'unsupported visible name')\n return tuple(name.split('.'))\n\n\ndef render(name):\n return '.'.join(str(x) if type(x) is int else x for x in name)\n\n\ndef parse_inventory(text):\n require(isinstance(text, str), 'protocol: transcript is not text')\n modules, constants, relations, axioms, closures = [], [], [], [], []\n lines = []\n for line in text.splitlines():\n if not line:\n continue\n lines.append(line)\n fields = line.split('|')\n tag = fields[0]\n if tag == 'MODULE':\n require(len(fields) == 5 and fields[2] in ('true', 'false')\n and all(re.fullmatch(r'0|[1-9][0-9]*', n) for n in fields[3:]), 'protocol: invalid MODULE')\n modules.append((decode(fields[1]), fields[2] == 'true', int(fields[3]), int(fields[4])))\n elif tag == 'INV':\n require(len(fields) == 6 and fields[1] in KINDS and fields[2] in ('user', 'aux')\n and fields[5] in ('safe', 'unsafe', 'partial'), 'protocol: invalid INV')\n constants.append((fields[1], fields[2], decode(fields[3]), decode(fields[4]), fields[5]))\n elif tag == 'REL':\n require(len(fields) == 4 and fields[1] in ('projection','constructor','recursor','no_confusion','aux_recursor'),\n 'protocol: invalid REL')\n relations.append((fields[1], decode(fields[2]), decode(fields[3])))\n elif tag == 'AXIOMS':\n require(len(fields) == 2, 'protocol: invalid AXIOMS')\n axioms.append([] if fields[1] == '' else [decode(x) for x in fields[1].split(',')])\n elif tag == 'CLOSURE':\n require(len(fields) == 2 and re.fullmatch(r'0|[1-9][0-9]*', fields[1]), 'protocol: invalid CLOSURE')\n closures.append(int(fields[1]))\n else:\n raise ValueError('protocol: unrecognized output: ' + line)\n require(len(axioms) == 1 and len(closures) == 1, 'protocol: one AXIOMS and CLOSURE required')\n require(constants, 'protocol: empty constant census')\n return dict(modules=modules, constants=constants, relations=relations,\n axioms=axioms[0], closure=closures[0], lines=lines)\n\n\ndef parse_binding(records, visible):\n require(isinstance(records, list), 'compiled binding absent; actual pinned census required')\n result, names = set(), set()\n for row in records:\n require(isinstance(row, list) and len(row) == 5 and all(isinstance(x, str) for x in row), 'invalid binding record')\n kind, origin, module, name, safety = row\n require(kind in KINDS and origin in ('user', 'aux') and safety in ('safe','unsafe','partial'), 'invalid binding kind')\n try:\n item = kind, origin, decode(module), decode(name), safety\n except ValueError as exc:\n raise ValueError('binding: ' + str(exc)) from None\n require(item[2] == MODULE_NAME, 'binding outside module')\n require(item[3] not in visible, 'target_shadowing in binding')\n require(item[3] not in names, 'duplicate_binding')\n names.add(item[3]); result.add(item)\n return frozenset(result)\n\n\ndef inventory_violations(inventory, visible_kinds, bound_records, reported_axioms=None):\n require(isinstance(visible_kinds, dict) and visible_kinds, 'empty visible declaration map')\n visible = {dotted(name): kind for name, kind in visible_kinds.items()}\n require(all(kind in ('theorem','def','inductive') for kind in visible.values()), 'invalid visible kind')\n bound = parse_binding(bound_records, visible)\n findings = set()\n def flag(code, name=(), note=''):\n findings.add((code, encode(name) if name else '', note))\n module_counts = {}\n for module, is_module, count, extra in inventory['modules']:\n if module in module_counts:\n flag('duplicate_module', module)\n module_counts[module] = count\n if module != MODULE_NAME:\n flag('unregistered_module', module)\n if is_module:\n flag('module_system', module)\n if extra:\n flag('codegen_extra', module)\n if MODULE_NAME not in module_counts:\n flag('missing_module', MODULE_NAME)\n constants, observed = {}, set()\n for row in inventory['constants']:\n kind, origin, module, name, safety = row\n if name in constants:\n flag('duplicate_name', name)\n constants[name] = row\n if module != MODULE_NAME:\n flag('outside_module', name)\n if kind == 'axiom':\n flag('package_axiom', name)\n if safety != 'safe':\n flag('unsafe_or_partial', name)\n if name in visible:\n if kind != visible[name] or origin != 'user':\n flag('visible_kind', name)\n else:\n observed.add(row)\n if row not in bound:\n flag('unregistered_constant', name)\n actual_count = sum(row[2] == MODULE_NAME for row in inventory['constants'])\n if MODULE_NAME in module_counts and actual_count != module_counts[MODULE_NAME]:\n flag('count_mismatch', MODULE_NAME)\n for name in visible.keys() - constants.keys():\n flag('missing_visible', name)\n for row in bound - observed:\n flag('missing_constant', row[3])\n relation_map = {}\n expected_relation_kinds = {'projection': {'def','theorem'}, 'constructor': {'ctor'}, 'recursor': {'rec'},\n 'no_confusion': {'def'}, 'aux_recursor': {'def'}}\n for relation, name, parent in inventory['relations']:\n valid = (name not in relation_map and parent in visible and visible[parent] == 'inductive'\n and name in constants and constants[name][0] in expected_relation_kinds[relation])\n if not valid:\n flag('invalid_structural_relation', name)\n relation_map[name] = relation, parent\n user_names = {name for name, row in constants.items() if row[1] == 'user'}\n for name, row in constants.items():\n kind, origin, module, _, safety = row\n if name in visible:\n continue\n if origin == 'user' and kind == 'theorem' and relation_map.get(name, (None,))[0] != 'projection':\n flag('extra_user_theorem', name)\n if origin == 'user' and kind in ('def','inductive','opaque') and name not in relation_map:\n flag('extra_user_definition', name)\n if kind in ('ctor','rec') and name not in relation_map:\n flag('invalid_structural_relation', name)\n if origin == 'aux' and kind == 'theorem':\n parents = [name[:i] for i in range(len(name)-1, 0, -1) if name[:i] in user_names]\n if not parents or not all(isinstance(c, str) and AUX_SUFFIX.fullmatch(c) for c in name[len(parents[0]):]):\n flag('unbound_auxiliary', name)\n axioms = set(inventory['axioms'])\n if len(axioms) != len(inventory['axioms']):\n flag('duplicate_axiom')\n for axiom in axioms - {dotted(a) for a in ALLOWED}:\n flag('forbidden_axiom', axiom)\n if reported_axioms is not None:\n reported = {dotted(a) for values in reported_axioms.values() for a in values}\n for axiom in reported - axioms:\n flag('reported_axiom_omitted', axiom)\n if inventory['closure'] < len(inventory['constants']):\n flag('impossible_closure')\n return sorted(findings)\n\n\ndef audit_inventory(text, visible_kinds, bound_records, reported_axioms=None):\n inventory = parse_inventory(text)\n findings = inventory_violations(inventory, visible_kinds, bound_records, reported_axioms)\n require(not findings, 'compiled inventory rejected: ' + '; '.join(code+' '+name for code,name,note in findings))\n return dict(declarations=len(inventory['constants']), visible_declarations=len(visible_kinds),\n axioms=sorted(render(a) for a in inventory['axioms']), closure=inventory['closure'],\n sha256=hashlib.sha256('\\n'.join(inventory['lines']).encode()).hexdigest())\n\n\ndef inventory_source():\n \"\"\"Pinned Lean module-table exporter; structure relations come from environment metadata.\"\"\"\n return r'''import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety : ConstantInfo → String\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n'''\n" + }, + { + "path": "opaque-exporter-before-fix/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-before-fix/export.stdout", + "bytes": 251, + "sha256": "00b6e6720eaa0a0b5ca5d46ecc3a2136e8cd518c713e008f15bfa2481259dd31", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "opaque-exporter-after-fix/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "opaque-exporter-after-fix/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "opaque-exporter-after-fix/Inventory.lean", + "bytes": 3892, + "sha256": "0efdbf5dfb1c92ee147563c672a5c872881c7257f06380730b9a05e09260583b", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "opaque-exporter-after-fix/RESULT.json", + "bytes": 746, + "sha256": "34496702fc7ead8ba256ad77feccafbb09be993f49acbd8146b132d2b24900b0", + "utf8": "{\n \"runs\": [\n {\n \"name\": \"compile\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"exit\": 0\n },\n {\n \"name\": \"export\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"exit\": 0\n }\n ],\n \"hazard_records\": [\n [\n \"opaque\",\n \"user\",\n [\n \"CapFirstExit\"\n ],\n [\n \"CapFirstExit\",\n \"opaqueHazard\"\n ],\n \"unsafe\"\n ]\n ],\n \"expected_safety\": \"unsafe\",\n \"control\": \"OBSERVED_UNSAFE_OPAQUE_RECORDED\"\n}\n" + }, + { + "path": "opaque-exporter-after-fix/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-after-fix/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-after-fix/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "opaque-exporter-after-fix/export.stdout", + "bytes": 253, + "sha256": "650a6d859e5a945a03a99cf8446b6cb63508ef34cbca20e9e77e247afa4e5f68", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|unsafe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + } + ], + "scope": "Historical failures, interruptions and corrections. Filename words such as red do not establish verdicts. Binary/large records are losslessly base64-chunked with byte offsets. No final-gate or CBZ claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-02.json b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-02.json new file mode 100644 index 000000000..4d4ce43f8 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-02.json @@ -0,0 +1,85 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "historical-attempts", + "records": [ + { + "path": "actual-census-v1/Inventory.lean", + "bytes": 3892, + "sha256": "0efdbf5dfb1c92ee147563c672a5c872881c7257f06380730b9a05e09260583b", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "actual-census-v1/RUNS.json", + "bytes": 1010, + "sha256": "5f359fbb507022f8dc03aebac7a2266a10b3fec316c99580817147d0f2e086fd", + "utf8": "[\n {\n \"label\": \"version-before\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:16:04.154827+00:00\",\n \"ended_utc\": \"2026-10-30T00:16:04.395156+00:00\"\n },\n {\n \"label\": \"census\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lake\",\n \"env\",\n \"lean\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/evidence/actual-census-v1/Inventory.lean\"\n ],\n \"exit\": 0,\n \"started_utc\": \"2026-10-30T00:16:04.395615+00:00\",\n \"ended_utc\": \"2026-10-30T00:17:52.717343+00:00\"\n },\n {\n \"label\": \"kernel\",\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lake\",\n \"env\",\n \"leanchecker\",\n \"--fresh\",\n \"CapFirstExit\"\n ],\n \"exit\": 143,\n \"started_utc\": \"2026-10-30T00:17:52.717964+00:00\",\n \"ended_utc\": \"2026-10-30T00:19:46.119207+00:00\"\n }\n]\n" + }, + { + "path": "actual-census-v1/census.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "actual-census-v1/census.stdout", + "bytes": 24044, + "sha256": "9f93b0f4416eeef0f01b63853a3ff9983ab2c20e5d6660f8f999ea384cc4a1d2", + "utf8": "MODULE|s436170466972737445786974|false|206|8\nINV|inductive|user|s436170466972737445786974|s436170466972737445786974/s436170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s62617272696572|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s63617365734f6e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6365696c696e67|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s636f6d706f6e656e745f736570617261746564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s636f6e6772|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f616c697665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f64656174685f6c6576656c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f64656174685f6c6576656c5f7065616b|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f6d657267655f6966665f636c6f736564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s656c6465725f6d657267655f6966665f6f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s66726f6e746965725f6c65|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6a6f696e65644c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6170|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d61705f736164646c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6178696d696e5f6571|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6178696d696e5f69734772656174657374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d656d|safe\nINV|ctor|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6b|safe\nINV|def|aux|s436170466972737445786974|s436170466972737445786974/s436170487970/s6d6b/s5f666c61745f63746f72|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f665f636f6e73745f6d756c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c646572|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c6465725065616b4c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s6f6c6465725f7065616b|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s706174685f7468726f7567685f736164646c65|safe\nINV|rec|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s726563|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s7265634f6e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s7269646765|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s735f6c655f665f4d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s736164646c655f637574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s436170487970/s746f546f727573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s616464436972636c655f6c6f63616c6c79436f6e6e65637465645370616365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s617869735f636f6e766578436f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f626f756e645f636f6c6c6172|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6e6f6e6e6567|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6f665f6e6f726d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s626c6f636b5f6f665f7061727469616c|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s636972636c654368617274|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636972636c6543686172745f636f65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636972636c6543686172745f636f6e74696e756f7573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6c6c61725f7375627365745f6f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6d706f6e656e745f6a6f696e6564|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s636f6e6e656374696f6e4c6576656c73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665784f6e5f6164645f6e6f6465|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f64657269765f7369676e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f6265747765656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f6c656674|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s636f6e7665785f7a65726f735f7269676874|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s64785f677261645f696e6372656d656e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s66726f6e746965725f63796c696e646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s66726f6e746965725f696d6167655f737562736574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s667878785f6c6f776572|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s667878785f6c6f776572/s5f73696d705f315f31|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s6831546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6831546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6831546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f4333|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f4334|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f45|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f72696467655f646966666572656e746961626c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6831546f795f736f75726365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s68617346446572697641745f7a65726f5f636f6e73745f6d756c5f696666|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6761705f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6761705f6c655f636f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865726d6974655f6d5f67655f74776f|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f696e6372656d656e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f696e6372656d656e745f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f725f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6865737369616e5f785f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973436c6f7365645f636f6e6e6563746564436f6d706f6e656e74496e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973436f6d706163745f63796c696e646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6973496e7665727469626c655f6f665f6e6567446566|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f636f6e73745f6d756c5f6f665f69734f70656e|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f74687265655f73776170e28281e28282|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s69746572617465644644657269765f74687265655f73776170e28282e28283|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c31325f636f6e7374616e7473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c31325f6c6f776572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f34|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f35|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f36|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6c395f6172697468/s5f73696d705f315f37|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s6d69786564546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f636f6e7444696666|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f6861734644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f666f7572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f7468726565|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s6d69786564546f795f69746572617465644644657269765f74776f|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s706174685f6d656574735f66726f6e74696572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s707265636f6e6e65637465645f7375627365745f6f665f66726f6e746965725f6469736a6f696e74|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s71756172746963546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s71756172746963546f795f45|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7269646765546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f6a6f696e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7269646765546f795f736c69636573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4333|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4333/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4334|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4335|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4335/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f45|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f45/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4831|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f34|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f35|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f36|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f37|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f4b/s5f73696d705f315f38|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d5f4b/s5f73696d705f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6e6f726d616c697a6564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f6f665f736c69636573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f736f75726365|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6361704879705f7370|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f646966666572656e746961626c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f657869737473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f68617344657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f6861735374726963744644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f68636f6e76|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f696e707574735f6f665f6a6f696e74|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f70726f66696c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f7365636f6e645f6964656e74697479|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s72696467655f736f757263655f6661637473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s73636875725f6d6178|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637269746963616c5f657869737473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637269746963616c5f756e69717565|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f637572766564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6772616469656e745f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6772616469656e745f64657269765f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6861734644657269764174|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c6963655f72696467655f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c696365735f7374726f6e67436f6e63617665|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s736c696365735f7374726f6e67436f6e636176655f44|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s7370546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7370546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7370546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7370546f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7370546f795f6e6f726d616c697a6564|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s73705f6375727665645f736964655f636f6e7374616e7473|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176654f6e5f6f665f6865737369616e/s5f6162656c5f315f32|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s7374726f6e67436f6e636176655f6c655f6f665f6861734644657269764174/s5f6162656c5f315f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s74686972645f64657269765f6578697374735f74776f/s5f73696d705f315f33|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573436f766572/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f7665725f636f6e74696e756f7573|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573436f7665725f69734f70656e4d6170|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s5f70726f6f665f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f727573546f7946/s65715f31|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f727573546f795f656c646572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f6361704879705f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f656c6465725f64656174685f6c6576656c5f626c6f636b73|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f7275735f6c6f63616c6c79436f6e6e65637465645370616365|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f7946|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f7946/s5f70726f6f665f31|safe\nINV|def|user|s436170466972737445786974|s436170466972737445786974/s746f795269646765|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f31|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f32|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f33|safe\nINV|theorem|aux|s436170466972737445786974|s436170466972737445786974/s746f795269646765/s5f70726f6f665f34|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f636170487970|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f64656174685f6c6576656c|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f665f4d|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f665f53|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f66726f6e74696572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4331|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4332|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f6e656564735f4333|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f72696467655f6765|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f736164646c655f637574|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s746f795f736164646c655f737472696374|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6571|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6c65|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472616e7376657273655f6865737369616e5f6c655f44|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s7472696c696e6561725f6c6f776572|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74776f5f6e6f64655f626f756e64|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s74776f5f6e6f64655f64657269765f626f756e64|safe\nREL|constructor|s436170466972737445786974/s436170487970/s6d6b|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s66726f6e746965725f6c65|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6f6c646572|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6d656d|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s7269646765|s436170466972737445786974/s436170487970\nREL|projection|s436170466972737445786974/s436170487970/s6365696c696e67|s436170466972737445786974/s436170487970\nREL|aux_recursor|s436170466972737445786974/s436170487970/s63617365734f6e|s436170466972737445786974/s436170487970\nREL|recursor|s436170466972737445786974/s436170487970/s726563|s436170466972737445786974/s436170487970\nREL|aux_recursor|s436170466972737445786974/s436170487970/s7265634f6e|s436170466972737445786974/s436170487970\nAXIOMS|s436c6173736963616c/s63686f696365,s51756f74/s736f756e64,s70726f70657874\nCLOSURE|47659\n" + }, + { + "path": "actual-census-v1/kernel.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "actual-census-v1/kernel.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "actual-census-v1/version-before.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "actual-census-v1/version-before.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "interrupted-full-import-kernel.json", + "bytes": 347, + "sha256": "296e650ae513fa8019744ce7481fbfb5065932a26e04187dd691f8a563b667fe", + "utf8": "{\n \"time_utc\": \"2026-10-30T00:19:45.988158+00:00\",\n \"pid\": 45146,\n \"observed_command\": \"45146 44573 leanchecker --fresh CapFirstExit\",\n \"action\": \"SIGTERM owned extra full-import replay\",\n \"reason\": \"Accidental all-Mathlib replay exceeds requested packet/dependency closure; retain interrupted attempt and run existing packet kernel route\"\n}\n" + }, + { + "path": "interrupted-help-probe.json", + "bytes": 373, + "sha256": "ac1f6ac1466a8b7fdcaf3dfc12192ec0e53851033c105a84333ef432e7661dee", + "utf8": "{\n \"time_utc\": \"2026-10-30T00:23:12.342809+00:00\",\n \"pid\": 52383,\n \"observed_command\": \"52383 89584 /tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/leanchecker --help\",\n \"action\": \"SIGTERM owned unsupported-help probe\",\n \"reason\": \"Pinned checker has no help handler; flag was not a harmless help request and no verification credit is assigned\"\n}\n" + }, + { + "path": "cap-initial-build.stdout", + "bytes": 84, + "sha256": "7d378fa3812efd449f188b6a695e9a03146b00084a5306812d0e5b1db211f045", + "utf8": "✔ [8924/8925] Built CapFirstExit (288s)\nBuild completed successfully (8925 jobs).\n" + }, + { + "path": "cap-initial-build.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "compiled-policy-first.stderr", + "bytes": 3132, + "sha256": "8ea7261382a830ad64fda78cb697cde38034452e3aad4a3241d8ca143ff6dc2e", + "utf8": "test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n----------------------------------------------------------------------\nRan 29 tests in 0.049s\n\nOK\n" + } + ], + "scope": "Historical failures, interruptions and corrections. Filename words such as red do not establish verdicts. Binary/large records are losslessly base64-chunked with byte offsets. No final-gate or CBZ claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-03.json b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-03.json new file mode 100644 index 000000000..5df559350 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-03.json @@ -0,0 +1,37 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "historical-attempts", + "records": [ + { + "path": "compiled-policy-red.stderr", + "bytes": 19610, + "sha256": "79034c59dbe9830024ff7645af83bc4c5cdeb852f093638d11cff42dc496ea3a", + "utf8": "test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n======================================================================\nFAIL: test_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 47, in setUp\n self.assertTrue(path.is_file(), 'Cap compiled admission implementation is absent')\nAssertionError: False is not true : Cap compiled admission implementation is absent\n\n----------------------------------------------------------------------\nRan 29 tests in 0.002s\n\nFAILED (failures=29)\n" + }, + { + "path": "opaque-policy-red.stderr", + "bytes": 4094, + "sha256": "cbbb85d89adf7dc9a12563c20c9aa4d4d62c48992736dbc549571485c72b253b", + "utf8": "test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n======================================================================\nFAIL: test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 172, in test_owned_opaque_and_quot_never_self_admit\n self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)])\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 54, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 31 tests in 0.171s\n\nFAILED (failures=1)\n" + }, + { + "path": "prop-projection-red.stderr", + "bytes": 4428, + "sha256": "ad628e9be5779cacb7679ffad65ce606aa5baf6e70e8df050c793f8ed50cfd06", + "utf8": "test_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ERROR\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n======================================================================\nERROR: test_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 104, in test_prop_projection_theorem_uses_actual_structure_relation\n report = self.api.audit_inventory(transcript(rows), VISIBLE, bound)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\", line 194, in audit_inventory\n require(not findings, 'compiled inventory rejected: ' + '; '.join(code+' '+name for code,name,note in findings))\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\", line 19, in require\n raise ValueError(reason)\nValueError: compiled inventory rejected: extra_user_theorem s436170466972737445786974/s436170487970/s6669656c64; invalid_structural_relation s436170466972737445786974/s436170487970/s6669656c64\n\n----------------------------------------------------------------------\nRan 30 tests in 0.205s\n\nFAILED (errors=1)\n" + }, + { + "path": "actual-support-extension-red.stderr", + "bytes": 6838, + "sha256": "39f60120a4db1b84dbcad09b9f39f5cdf38751f3d47b2d40a53443f04eefac9b", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... FAIL\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n======================================================================\nFAIL: test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 157, in test_actual_abel_suffix_is_admitted_only_with_exact_binding\n report=self.api.audit_inventory(transcript(ROWS+[row]),VISIBLE,BOUND+[list(row)])\nValueError: compiled inventory rejected: unbound_auxiliary s436170466972737445786974/s76697369626c65/s5f6162656c5f315f31\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 159, in test_actual_abel_suffix_is_admitted_only_with_exact_binding\n self.fail('observed generated Abel support is unsupported: '+str(error))\nAssertionError: observed generated Abel support is unsupported: compiled inventory rejected: unbound_auxiliary s436170466972737445786974/s76697369626c65/s5f6162656c5f315f31\n\n======================================================================\nFAIL: test_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 176, in test_codegen_duplicate_or_wrong_names_refuse\n self.codegen_call(text,[[M,name]])\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 150, in codegen_call\n self.assertIn('codegen_records', inspect.signature(self.api.audit_inventory).parameters,\nAssertionError: 'codegen_records' not found in mappingproxy(OrderedDict([('text', ), ('visible_kinds', ), ('bound_records', ), ('reported_axioms', )])) : actual IR-name admission is not implemented\n\n======================================================================\nFAIL: test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 166, in test_codegen_extras_are_exactly_bound_not_ignored\n report=self.codegen_call(text,[[M,name]])\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/new-tests/test_compiled_inventory.py\", line 150, in codegen_call\n self.assertIn('codegen_records', inspect.signature(self.api.audit_inventory).parameters,\nAssertionError: 'codegen_records' not found in mappingproxy(OrderedDict([('text', ), ('visible_kinds', ), ('bound_records', ), ('reported_axioms', )])) : actual IR-name admission is not implemented\n\n----------------------------------------------------------------------\nRan 34 tests in 0.134s\n\nFAILED (failures=3)\n" + }, + { + "path": "runtime-boundary-red.stderr", + "bytes": 1664, + "sha256": "30c1217b235c00fda7f9728d461c59786e03cfe4ba83c8f2658220767a9f44d4", + "utf8": "test_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... FAIL\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... FAIL\n\n======================================================================\nFAIL: test_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\", line 23, in test_lake_symlink_cannot_move_or_remove_external_evidence\n self.assertTrue((external/'evidence/sentinel').is_file(),'symlink target evidence was moved before refusal')\nAssertionError: False is not true : symlink target evidence was moved before refusal\n\n======================================================================\nFAIL: test_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\", line 27, in test_timeout_retains_streams_and_cleans_owned_descendants\n self.assertTrue(hasattr(gate,'run_process'),'owned process cleanup implementation missing')\nAssertionError: False is not true : owned process cleanup implementation missing\n\n----------------------------------------------------------------------\nRan 2 tests in 0.016s\n\nFAILED (failures=2)\n" + } + ], + "scope": "Historical failures, interruptions and corrections. Filename words such as red do not establish verdicts. Binary/large records are losslessly base64-chunked with byte offsets. No final-gate or CBZ claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-04.json b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-04.json new file mode 100644 index 000000000..d6aac8077 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-04.json @@ -0,0 +1,19 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "historical-attempts", + "records": [ + { + "path": "all-controls-first.stderr", + "bytes": 28399, + "sha256": "0a5669c42646d9ba53dbe1dd33a77fadc2d283388ea58f37fe8e428e296869f8", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ERROR\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ERROR\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ERROR\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ERROR\ntest_final_version_not_the_release (test_gate.Execute) ... ERROR\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ERROR\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ERROR\ntest_main_execute_entry (test_gate.Execute) ... ERROR\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ERROR\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ERROR\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ERROR\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ERROR\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n======================================================================\nERROR: test_clean_run_observes_both_ends (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 288, in test_clean_run_observes_both_ends\n fake, receipt = self.execute()\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp6tz4whpm/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_dependency_head_drift_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 397, in test_dependency_head_drift_during_execution\n self.assertExecuteFails('checked-out dependency revisions differ from MANIFEST.json', during=move)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmphfal7kw1/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_dependency_worktree_dirtied_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 402, in test_dependency_worktree_dirtied_during_execution\n self.assertExecuteFails('dependency worktree is not clean: batteries', during=dirty)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp6_gq0gqf/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_final_version_differs_from_preflight (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 336, in test_final_version_differs_from_preflight\n self.assertExecuteFails('Lean runtime changed during execution', versions=(RELEASE, other))\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp2kja2fp3/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_final_version_not_the_release (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 342, in test_final_version_not_the_release\n self.assertExecuteFails(fragment, versions=(RELEASE, final))\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpls3jcich/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_info_lines_before_version_accepted_in_execute (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 317, in test_info_lines_before_version_accepted_in_execute\n _, receipt = self.execute(versions=('info: downloading component lean\\n' + RELEASE + '\\n',))\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpy_3z83xf/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_lean_source_changed_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 366, in test_lean_source_changed_during_execution\n self.assertExecuteFails('source identity mismatch: CapFirstExit.lean', during=edit)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp1jce6_vs/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_main_execute_entry (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 352, in test_main_execute_entry\n gate.main()\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 458, in main\n receipt = execute(m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpz018wcg9/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_main_pin_changed_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 392, in test_main_pin_changed_during_execution\n self.assertExecuteFails('pinned source drifted', during=drift)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpcrtple5b/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_manifest_bytes_changed_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 386, in test_manifest_bytes_changed_during_execution\n self.assertExecuteFails('bound source changed during execution', during=touch)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp79bo7urg/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_receipt_records_both_observations (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 300, in test_receipt_records_both_observations\n _, receipt = self.execute()\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmp8dby4xqj/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n======================================================================\nERROR: test_source_and_manifest_rewritten_together_during_execution (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 379, in test_source_and_manifest_rewritten_together_during_execution\n self.assertExecuteFails('MANIFEST.json differs from the manifest bound before execution', during=rewrite)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 283, in assertExecuteFails\n self.execute(versions, during)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 278, in execute\n receipt = gate.execute(self.m)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 411, in execute\n compiled = audit_compiled(m, out, axioms)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 315, in audit_compiled\n report['admission_controls'] = compiled_admission(m, implementation, report, out)\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\", line 341, in compiled_admission\n shutil.copytree(ROOT / '.lake' / 'build', packet / '.lake' / 'build')\n File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py\", line 555, in copytree\n with os.scandir(src) as itr:\nFileNotFoundError: [Errno 2] No such file or directory: '/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/tmpf0txzyx6/repo/frontiers/cap_first_exit_lean_20261002/.lake/build'\n\n----------------------------------------------------------------------\nRan 86 tests in 10.361s\n\nFAILED (errors=12)\n" + }, + { + "path": "all-controls-second.stderr", + "bytes": 8009, + "sha256": "d0095a24bec9d24d65b73ac16c0a241ae8793f206b5ad9992ebf774eb54e4f54", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... FAIL\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n======================================================================\nFAIL: test_clean_run_observes_both_ends (test_gate.Execute)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/test_gate.py\", line 302, in test_clean_run_observes_both_ends\n self.assertEqual(json.loads((evidence / 'receipt.json').read_text()), receipt)\nAssertionError: {'alignment_review': 'NOT_CLAIMED', 'axioms[19222 chars]4.1'} != {'scientific_effect': 'NONE', 'module': 'Ca[19222 chars]MED'}\nDiff is 50666 characters long. Set self.maxDiff to None to see it.\n\n----------------------------------------------------------------------\nRan 86 tests in 15.012s\n\nFAILED (failures=1)\n" + } + ], + "scope": "Historical failures, interruptions and corrections. Filename words such as red do not establish verdicts. Binary/large records are losslessly base64-chunked with byte offsets. No final-gate or CBZ claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-05.json b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-05.json new file mode 100644 index 000000000..94f12e8e8 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/historical-attempts-05.json @@ -0,0 +1,13 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "historical-attempts", + "records": [ + { + "path": "all-controls-third.stderr", + "bytes": 7970, + "sha256": "d5cb5a961457e132bcf3bdda6aeb480cb54200db6d5fa907d322a3913e4b7dca", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n----------------------------------------------------------------------\nRan 92 tests in 17.787s\n\nOK\n" + } + ], + "scope": "Historical failures, interruptions and corrections. Filename words such as red do not establish verdicts. Binary/large records are losslessly base64-chunked with byte offsets. No final-gate or CBZ claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/independent-review.json b/reviews/cap_compiled_admission_cbz_20261030/independent-review.json new file mode 100644 index 000000000..b318e6e6d --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/independent-review.json @@ -0,0 +1,49 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "independent-review", + "records": [ + { + "path": "independent-controls.json", + "bytes": 2696, + "sha256": "a02aa66ffc5b95bfee7411c9fefeb31f5b10ed623633eebe44a39fbfdb784322", + "utf8": "{\n \"gate_sha256\": \"391b249c4d09c53dc81f7575562938ae3dae7c930e816dde88a86e541e169a7e\",\n \"runner_sha256\": \"115110534dd8347423e0b41564789483479a5f3049e6223572b341a8d384fa19\",\n \"timeout_zero\": {\n \"accepted_as_success\": true,\n \"error\": null,\n \"process\": {\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-c\",\n \"import signal,sys,time\\nsignal.signal(signal.SIGTERM,lambda *_:sys.exit(0))\\nprint(\\\"COMPLETE_STDOUT_BEFORE_HANG\\\",flush=True)\\ntime.sleep(60)\\n\"\n ],\n \"cwd\": \"/tmp/cbz-cap-independent-review-d8r4w59f/timeout-zero-repro\",\n \"exit\": 0,\n \"timed_out\": true,\n \"cleanup_signals\": [\n \"SIGTERM\"\n ]\n },\n \"stdout\": \"COMPLETE_STDOUT_BEFORE_HANG\\n\",\n \"stderr\": \"\"\n },\n \"wrong_cause\": {\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\"\n ],\n \"exit\": 1,\n \"classified_as_kill\": true,\n \"stderr\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\\n\\n======================================================================\\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \\\"/private/tmp/cbz-cap-independent-review-d8r4w59f/wrong-cause-mutant/test_compiled_inventory.py\\\", line 186, in test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\\n self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)])\\n File \\\"/private/tmp/cbz-cap-independent-review-d8r4w59f/wrong-cause-mutant/test_compiled_inventory.py\\\", line 57, in reject\\n self.assertIn(code, str(ctx.exception))\\nAssertionError: 'package_axiom' not found in 'FOREIGN_PROTOCOL_FAILURE_BEFORE_EXPECTED_REJECTION'\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.004s\\n\\nFAILED (failures=1)\\n\",\n \"mutant_sha256\": \"3061d7410109324bfaec888a9e083d1a613625197a3cfcbd4dfadfc6d614104b\",\n \"actual_cause\": \"ValueError from foreign protocol cause is caught, then expected-code assertIn fails; rejection was not bypassed\"\n },\n \"Lean_executed\": false,\n \"candidate_modified\": false,\n \"runner_timeout_log_loss\": {\n \"timeout_raised\": true,\n \"partial_stdout\": \"PARTIAL_MUTATION_STDOUT\\n\",\n \"partial_stderr\": \"PARTIAL_MUTATION_STDERR\\n\",\n \"files_retained_by_runner\": []\n }\n}" + }, + { + "path": "PATCH_MANIFEST.json", + "bytes": 2865, + "sha256": "892a77c53a8ffc8fcfb3a9269036d083b266302016f9451b1e955da1430e97f2", + "utf8": "{\n \"created_at_utc\": \"2026-10-30T00:28:36.418626+00:00\",\n \"patch\": \"/tmp/cbz-cap-independent-review-d8r4w59f/runner-opaque-retention.patch\",\n \"proposal_directory\": \"/tmp/cbz-cap-independent-review-d8r4w59f/private-patch\",\n \"cut_sha256\": {\n \"run_cbz_mutations.py\": {\n \"before_sha256\": \"115110534dd8347423e0b41564789483479a5f3049e6223572b341a8d384fa19\",\n \"after_sha256\": \"f40ec206372c55eecea34c73fd80a431452d3581b952f1335e047a960d6923d7\",\n \"after_bytes\": 7324\n },\n \"lean_opaque_control.py\": {\n \"before_sha256\": \"cef5553d7e054a77839ea2b64cd6fca90d537b3f4ec44e5d8b28a7eac4be48aa\",\n \"after_sha256\": \"4d36c416265d159ad9b532e39a2d1dba733bbe6d4ff88b16659296bbf0f5a92c\",\n \"after_bytes\": 3498\n },\n \"test_mutation_accounting.py\": {\n \"before_sha256\": \"8b66ce146dc5315e37264c6f4c7712bc3a312e78d384efc32306906025919a61\",\n \"after_sha256\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\",\n \"after_bytes\": 3399\n },\n \"test_process_retention.py\": {\n \"before_sha256\": null,\n \"after_sha256\": \"e4de20342deaaf9c6122b26d37f2a446e880a211e957e174ec39a5bdb0e6a01b\",\n \"after_bytes\": 5275\n }\n },\n \"unchanged_gate_sha256\": \"391b249c4d09c53dc81f7575562938ae3dae7c930e816dde88a86e541e169a7e\",\n \"unchanged_compiled_inventory_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"mutation_anchors_AST_unchanged\": true,\n \"candidate_files_edited\": false,\n \"original_38_tests_edited\": false,\n \"verification\": {\n \"red_log\": \"patch-red.stderr\",\n \"red_test_count\": 12,\n \"red_failure_count\": 7,\n \"normal_log\": \"patch-full-normal.stderr\",\n \"optimized_log\": \"patch-full-optimized.stderr\",\n \"private_unit_tests_per_mode\": 46,\n \"private_modes_exit_zero\": true,\n \"strict_python_guard_mutants\": 18,\n \"strict_python_guard_mutants_killed\": 18,\n \"codegen_anchor_pending_owner\": true,\n \"actual_opaque_exporter_or_project_Lean_executed\": false\n },\n \"integration_requirements\": [\n \"Candidate owner must incorporate the four-file diff and update MANIFEST file bytes/hashes including the new test_process_retention.py.\",\n \"gate.py is deliberately unchanged; its timed_out fail-closed correction remains with the candidate implementer.\",\n \"Candidate owner retains mutation anchor/codegen binding correction and actual opaque exporter execution; these are not validated by the private proposal.\"\n ],\n \"portable_apply_check\": {\n \"command\": [\n \"git\",\n \"--no-optional-locks\",\n \"apply\",\n \"--check\",\n \"/tmp/cbz-cap-independent-review-d8r4w59f/runner-opaque-retention.patch\"\n ],\n \"cwd\": \"/tmp/cbz-cap-independent-review-d8r4w59f/patch-apply-check/Math-\",\n \"exit_code\": 0,\n \"stdout\": \"\",\n \"stderr\": \"\"\n },\n \"private_patch_sha256\": \"f78917c9876648bad05d0507aa36dfff29d394da06068a64bd155cff5fdf3521\"\n}" + }, + { + "path": "PATCH_PYTHON_MUTATIONS.json", + "bytes": 5031, + "sha256": "2c22c8f9af48cccc3f23b70ba257130482f01ff5051d06ede02704163484352d", + "utf8": "{\n \"results\": [\n {\n \"mode\": \"normal\",\n \"label\": \"owned_axiom\",\n \"method\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"extra_constant\",\n \"method\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"hidden_user_theorem\",\n \"method\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"hidden_user_definition\",\n \"method\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"axiom_closure\",\n \"method\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"module_count\",\n \"method\": \"test_duplicate_names_and_module_counts_refuse\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"missing_binding\",\n \"method\": \"test_missing_or_changed_support_record_refuses\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"unsafe_partial\",\n \"method\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"normal\",\n \"label\": \"unsupported_kind\",\n \"method\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"owned_axiom\",\n \"method\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"extra_constant\",\n \"method\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"hidden_user_theorem\",\n \"method\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"hidden_user_definition\",\n \"method\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"axiom_closure\",\n \"method\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"module_count\",\n \"method\": \"test_duplicate_names_and_module_counts_refuse\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"missing_binding\",\n \"method\": \"test_missing_or_changed_support_record_refuses\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"unsafe_partial\",\n \"method\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"unsupported_kind\",\n \"method\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"exit\": 1,\n \"strict_semantic_kill\": true,\n \"stderr_has_exact_guard_marker\": true\n }\n ],\n \"all_applicable_strict_kills\": true,\n \"unmodified_anchor_gaps\": [\n {\n \"mode\": \"normal\",\n \"label\": \"codegen_extras\",\n \"anchor_count\": 0,\n \"owner_action\": \"candidate implementer owns anchor/codegen binding update; unchanged by private proposal\"\n },\n {\n \"mode\": \"optimized\",\n \"label\": \"codegen_extras\",\n \"anchor_count\": 0,\n \"owner_action\": \"candidate implementer owns anchor/codegen binding update; unchanged by private proposal\"\n }\n ],\n \"actual_opaque_exporter_executed\": false,\n \"source_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n}" + }, + { + "path": "PATCH_APPLY_CHECK.json", + "bytes": 292, + "sha256": "9f7a6e8b56f47cc260f9f9849348c47040148388941640815a3046587dc2fd03", + "utf8": "{\n \"command\": [\n \"git\",\n \"--no-optional-locks\",\n \"apply\",\n \"--check\",\n \"/tmp/cbz-cap-independent-review-d8r4w59f/runner-opaque-retention.patch\"\n ],\n \"cwd\": \"/tmp/cbz-cap-independent-review-d8r4w59f/patch-apply-check/Math-\",\n \"exit_code\": 0,\n \"stdout\": \"\",\n \"stderr\": \"\"\n}" + }, + { + "path": "patch-red.stderr", + "bytes": 6411, + "sha256": "5ea979c2795fb24bc6157c2d58afd281e0cfb13e2d88dc69fb5658915a213892", + "utf8": "test_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... FAIL\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... FAIL\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... FAIL\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... test_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... FAIL\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... FAIL\n\n======================================================================\nFAIL: test_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_mutation_accounting.py\", line 64, in test_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill\n self.assertFalse(runner.intended_failure(process, 'expected'))\nAssertionError: True is not false\n\n======================================================================\nFAIL: test_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_mutation_accounting.py\", line 58, in test_same_method_wrong_cause_is_not_a_kill\n self.assertFalse(runner.intended_failure(process, method),\nAssertionError: True is not false : wrong-cause rejection was counted as a guard-bypass kill\n\n======================================================================\nFAIL: test_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 76, in test_opaque_control_timeout_uses_retention_and_writes_failure_receipt\n self.assertTrue(hasattr(opaque, 'execute'), 'opaque control bypasses the retained process helper')\nAssertionError: False is not true : opaque control bypasses the retained process helper\n\n======================================================================\nFAIL: test_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) (status=0)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 36, in test_success_and_nonzero_exit_retain_separate_streams_and_metadata\n self.assertTrue((out/'observed.process.json').is_file(), 'process metadata was not retained')\nAssertionError: False is not true : process metadata was not retained\n\n======================================================================\nFAIL: test_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) (status=7)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 36, in test_success_and_nonzero_exit_retain_separate_streams_and_metadata\n self.assertTrue((out/'observed.process.json').is_file(), 'process metadata was not retained')\nAssertionError: False is not true : process metadata was not retained\n\n======================================================================\nFAIL: test_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 42, in test_timeout_retains_partial_streams_and_cleans_owned_child\n self.require_bounded_api()\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 23, in require_bounded_api\n self.assertIn('timeout', inspect.signature(runner.execute).parameters,\nAssertionError: 'timeout' not found in mappingproxy(OrderedDict([('command', ), ('cwd', ), ('out', ), ('label', )])) : runner has no bounded-retention timeout argument\n\n======================================================================\nFAIL: test_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 62, in test_timeout_that_exits_zero_is_still_refused_after_retention\n self.require_bounded_api()\n File \"/private/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/test_process_retention.py\", line 23, in require_bounded_api\n self.assertIn('timeout', inspect.signature(runner.execute).parameters,\nAssertionError: 'timeout' not found in mappingproxy(OrderedDict([('command', ), ('cwd', ), ('out', ), ('label', )])) : runner has no bounded-retention timeout argument\n\n----------------------------------------------------------------------\nRan 12 tests in 0.069s\n\nFAILED (failures=7)\n" + }, + { + "path": "patch-full-normal.stderr", + "bytes": 4921, + "sha256": "1b41d0d7268ce0dc97cb0c74e977fbb5589093de12289326ed0df862f4b789d4", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\n\n----------------------------------------------------------------------\nRan 46 tests in 1.189s\n\nOK\n" + }, + { + "path": "patch-full-optimized.stderr", + "bytes": 4921, + "sha256": "26a15764b5e2abfd0a02d5a8cbc33f32f86f054cf1185a50949f94871f073a25", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\n\n----------------------------------------------------------------------\nRan 46 tests in 1.164s\n\nOK\n" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/relative-cli-red.json b/reviews/cap_compiled_admission_cbz_20261030/relative-cli-red.json new file mode 100644 index 000000000..b500a36d5 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/relative-cli-red.json @@ -0,0 +1,61 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "relative-cli-red", + "records": [ + { + "path": "OBSERVATION.json", + "bytes": 2334, + "sha256": "e9d2f18fd3188f7aa227e10123c03773db16d5a44714d3b76d1c079c5120c6ea", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/lean_opaque_control.py\",\n \"--lean\",\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"relative-output\"\n ],\n \"cwd\": \"/tmp/cbz-cap-relative-output-red-xmzr5loc\",\n \"exit\": 1,\n \"timed_out\": false,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"d5c610b8e382a5b4dbb31cd5286e58feae67ca00eab2543f8d87021da56e4f35\",\n \"snapshot_control_sha256\": \"4d36c416265d159ad9b532e39a2d1dba733bbe6d4ff88b16659296bbf0f5a92c\",\n \"fixture_receipt\": {\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=relative-output\",\n \"LEAN_NUM_THREADS=2\",\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=relative-output\",\n \"LEAN_NUM_THREADS=2\",\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 1,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n },\n \"source_modified\": false,\n \"scope\": \"actual pinned Lean core fixture only; no project proof or Mathlib build\"\n}\n" + }, + { + "path": "observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "observer.stderr", + "bytes": 718, + "sha256": "d5c610b8e382a5b4dbb31cd5286e58feae67ca00eab2543f8d87021da56e4f35", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... FAIL\n\n======================================================================\nFAIL: runTest (__main__.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-cap-independent-review-d8r4w59f/private-patch/lean_opaque_control.py\", line 47, in runTest\n self.assertEqual(process.returncode,0, 'actual fixture process failed before the safety assertion: '+label)\nAssertionError: 1 != 0 : actual fixture process failed before the safety assertion: export\n\n----------------------------------------------------------------------\nRan 1 test in 1.948s\n\nFAILED (failures=1)\n" + }, + { + "path": "relative-output/RESULT.json", + "bytes": 1412, + "sha256": "a63ba054241f538e1be9f7a5af41d27f8d89851a548e3eae587c01e06bc0110f", + "utf8": "{\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=relative-output\",\n \"LEAN_NUM_THREADS=2\",\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=relative-output\",\n \"LEAN_NUM_THREADS=2\",\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"relative-output\",\n \"exit\": 1,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "relative-output/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "relative-output/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "relative-output/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "relative-output/export.stdout", + "bytes": 248, + "sha256": "70bf999508cd5ec9d67aece3d65c62b77ed5789cf0a625c741352573a69cd18e", + "utf8": "Inventory.lean:1:0: error: unknown module prefix 'CapFirstExit'\n\nNo directory 'CapFirstExit' or file 'CapFirstExit.olean' in the search path entries:\nrelative-output\n/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/lib/lean\n" + }, + { + "path": "relative-output/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/root-review.json b/reviews/cap_compiled_admission_cbz_20261030/root-review.json new file mode 100644 index 000000000..cecf567ea --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/root-review.json @@ -0,0 +1,19 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "root-review", + "records": [ + { + "path": "REVIEW.json", + "bytes": 2791, + "sha256": "8a66d57cc81bf8f417efee3f959e0c9fefaf7db8fcc8c6222dc1f77ae8c674f8", + "utf8": "{\n \"completion\": \"NOT_CLAIMED\",\n \"files\": {\n \"/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\": {\n \"bytes\": 326607,\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/MANIFEST.json\": {\n \"bytes\": 31014,\n \"sha256\": \"3d2b7976965e408054fb45becdf59513db991bfe8606d5a3cf2c11e00dde119c\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\": {\n \"bytes\": 15043,\n \"sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/gate.py\": {\n \"bytes\": 25168,\n \"sha256\": \"391b249c4d09c53dc81f7575562938ae3dae7c930e816dde88a86e541e169a7e\"\n },\n \"/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/src/lean/LeanChecker.lean\": {\n \"bytes\": 4806,\n \"sha256\": \"2d18ec111d73c536b0bdee2533556bb9548c349f386797d3d3837b1f84d55dae\"\n }\n },\n \"findings\": [\n {\n \"boundary\": \"A timed-out process returning zero is accepted unless timed_out is explicitly refused; independent actual reproduction preserved.\",\n \"id\": \"CAP-REVIEW-TIMEOUT-ZERO\",\n \"location\": \"gate.py:278\",\n \"status\": \"OPEN_REPAIR_ASSIGNED\"\n },\n {\n \"boundary\": \"Selected method identity plus one assertion failure does not establish guard bypass; exact semantic failure marker required.\",\n \"id\": \"CAP-REVIEW-MUTATION-CAUSE\",\n \"location\": \"run_cbz_mutations.py:34\",\n \"status\": \"OPEN_REPAIR_ASSIGNED\"\n },\n {\n \"boundary\": \"Old if extra anchor absent after new exact IR-name admission; final named mutation runner must be updated and rerun.\",\n \"id\": \"CAP-REVIEW-CODEGEN-ANCHOR\",\n \"location\": \"run_cbz_mutations.py:MUTATIONS\",\n \"status\": \"OPEN_REPAIR_ASSIGNED\"\n }\n ],\n \"kernel_scope\": {\n \"default_semantics\": \"replay all target module constants from most private object part into environment reconstructed from imports\",\n \"does_not_claim\": \"empty-kernel replay of imported Mathlib or independent external verifier\",\n \"fresh_semantics\": \"all constants, imported and owned, into empty environment; prior overbroad observer interrupted and given no verification credit\",\n \"program_source_sha256\": \"2d18ec111d73c536b0bdee2533556bb9548c349f386797d3d3837b1f84d55dae\",\n \"retained_command\": [\n \"lake\",\n \"env\",\n \"leanchecker\",\n \"CapFirstExit\"\n ]\n },\n \"observed_utc\": \"2026-10-30T00:26:05.160905+00:00\",\n \"review_scope\": \"read-only source review, no Lean execution by Root in this unit\",\n \"source_preserved\": true\n}\n" + }, + { + "path": "INTEGRATION_PLAN.md", + "bytes": 2509, + "sha256": "9fef1c0a6f10bcb7fa7330b92e260f1ed709855be129a3caa3e0244b65917053", + "utf8": "# Cap admission integration\n\nObserved planning time: 2026-10-30 00:33:45 UTC. This is a work plan, not a verification receipt.\n\nThe actual Cap source base is Math- `9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966`. Its unchanged proof is 326607 bytes, SHA-256 `040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0`. The retained default kernel replay checks all owned module declarations against the imported environment. It is not an empty-kernel replay of Mathlib.\n\n1. Finish and freeze the candidate after all original and additive Python controls and the current named auditor mutations pass. Preserve actual failures and exact source hashes. Require the workflow-equivalent relative CLI path to work and retain its evidence.\n2. Refresh native Math- Main and compare both the Cap packet and its pinned source files against the actual source base. Compose only the intended packet files, the thin Cap workflow change, and scoped review evidence. Preserve the entire current repository using its exact Git base tree. Do not use the local Main skeleton's staged deletions.\n3. Publish one atomic Git commit on a fresh Root-specific branch. Read back the commit tree, intended file blob identities and unchanged proof. Open an explicitly unqualified draft while the final local package admission run and hosted checks proceed. A draft or upload is not verification.\n4. Require the final actual gate to observe fresh baseline build, default owned kernel replay, all152 target axiom reports, complete compiled census, four exact-cause package mutations, the three retained negative controls, and unchanged final source/runtime/dependencies. Require relevant current hosted checks and resolve substantive review findings before integration.\n5. Coordinate canonical foundation tool/status registration through the existing owner and Main#684. Preserve exact parent-theorem and scientific boundaries. Do not create a competing root status authority.\n\nThe earlier managed-worktree request returned no operation ID before its outer observation was terminated. This did not establish a server-side terminal outcome. Subsequent chat-artifact and Git-registry reads showed no new Root Cap worktree. The publication workaround uses immutable Git objects and a leased or fresh branch ref; do not repeat creation or modify another owner's registered worktree. Reconcile any later observable Root artifact explicitly.\n\nNo merge, closure, final regression, full-gate success or CBZ-0 completion is claimed by this plan.\n" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-01.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-01.json new file mode 100644 index 000000000..5b8441dd6 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-01.json @@ -0,0 +1,73 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "source/FROZEN_SOURCE_V2.json", + "bytes": 6530, + "sha256": "0d9da71f481fb023a73cb9bd0742612215c4dc7aaae3affd7b15a8e9ef7614e3", + "utf8": "{\n \"actual_final_package_gate\": \"NOT_RUN: preceding V1 interrupted for explicit fixture source correction; final hosted qualification pending\",\n \"base_commit\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"base_repository\": \"d6g8k5htny-coder/Math-\",\n \"changes_since_v1\": [\n {\n \"new_sha256\": \"83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb\",\n \"old_sha256\": \"46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\"\n },\n {\n \"new_sha256\": \"6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217\",\n \"old_sha256\": \"d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\"\n }\n ],\n \"files\": [\n {\n \"bytes\": 20,\n \"git_blob\": \"ae73679948e8ab42b43d663e78f13a0c6640fb41\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/.gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\"\n },\n {\n \"bytes\": 57035,\n \"git_blob\": \"ef05eb264ea219771fa37d7ecd10985d55846c48\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\"\n },\n {\n \"bytes\": 7853,\n \"git_blob\": \"0aa3dd37a7d091e179259229610ea8bd779576be\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md\",\n \"sha256\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\"\n },\n {\n \"bytes\": 326607,\n \"git_blob\": \"01744e2cf571049d7d1557b9ed54646881d341cf\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n {\n \"bytes\": 46533,\n \"git_blob\": \"ca35fdf19575c478599a7158a9604072e6d72918\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\",\n \"sha256\": \"83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb\"\n },\n {\n \"bytes\": 32478,\n \"git_blob\": \"d4adc709cbed1e5eccc7ef2f5aca57c61a21237e\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/README.md\",\n \"sha256\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\"\n },\n {\n \"bytes\": 15043,\n \"git_blob\": \"02b74f2aa579e9d672bf65b3c74d36df10d4183b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\",\n \"sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n },\n {\n \"bytes\": 28665,\n \"git_blob\": \"521a70902f7d489b2903457076d96be76124b6d9\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/gate.py\",\n \"sha256\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\"\n },\n {\n \"bytes\": 3547,\n \"git_blob\": \"292d7c1169a584ff7a6e995ec85e925ed04b6439\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\"\n },\n {\n \"bytes\": 252,\n \"git_blob\": \"8b02204e207b56b10df4baa1109637061ea41752\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\"\n },\n {\n \"bytes\": 25,\n \"git_blob\": \"ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\"\n },\n {\n \"bytes\": 3607,\n \"git_blob\": \"8327bcd36c6662cb2b5d90f1af18036818a7ffec\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\",\n \"sha256\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\"\n },\n {\n \"bytes\": 7658,\n \"git_blob\": \"d59653bed36b85e155a353dc2decda3331a5a751\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\",\n \"sha256\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\"\n },\n {\n \"bytes\": 12680,\n \"git_blob\": \"f390708b96c0a67d7303f411691e954573af7aaa\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py\",\n \"sha256\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\"\n },\n {\n \"bytes\": 22903,\n \"git_blob\": \"65ff6cf590ddeb25a06706e95094ab4f64fa4378\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_gate.py\",\n \"sha256\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\"\n },\n {\n \"bytes\": 3399,\n \"git_blob\": \"db623e30f2773050a2f0fd146c8844c2f3177112\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py\",\n \"sha256\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\"\n },\n {\n \"bytes\": 7430,\n \"git_blob\": \"899566538c7ecd1cce76201e01a57bef837a0c03\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\",\n \"sha256\": \"6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217\"\n },\n {\n \"bytes\": 2270,\n \"git_blob\": \"1a68602705304143aa585db1e8edcf9f884b9749\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\",\n \"sha256\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\"\n },\n {\n \"bytes\": 2852,\n \"git_blob\": \"453de756513cae5b8abad08548108c415ea4a132\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_source_admission.py\",\n \"sha256\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\"\n },\n {\n \"bytes\": 2035,\n \"git_blob\": \"98443d110b81b49ac798b4e7b982b2e6de1968b3\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py\",\n \"sha256\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n }\n ],\n \"original38_names_preserved\": true,\n \"original_proof_preserved\": true,\n \"patch_bytes\": 169301,\n \"patch_sha256\": \"337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e\",\n \"qualification\": {\n \"auditor_mutation_actual_exit\": 0,\n \"final_actual_package_admission\": \"PENDING_HOSTED_EXECUTION; no final PASS\",\n \"named_auditor_mutations_killed\": 24,\n \"normal_tests\": 95,\n \"optimized_tests\": 95,\n \"per_mode\": 12,\n \"python_runtime\": \"CPython3.9.6\",\n \"relative_cli_output\": \".lake/auditor-selftest-v2\",\n \"test_actual_exits\": [\n 0,\n 0\n ]\n },\n \"schema\": \"cap.frozen-source.v2\"\n}\n" + }, + { + "path": "source/HANDOFF_V2.md", + "bytes": 1638, + "sha256": "4517c03f78152d02ea3512ffbafbce7f7c4cd0c07dc46d4fb9b875de0cc8c14d", + "utf8": "# Cap admission source handoff\n\nSource root: `/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002`. Final exact20-file cut: `FROZEN_SOURCE_V2.json`; portable full patch `FINAL_SOURCE_V2.patch`. Root owns integration/publication. No Source edits are pending or owned subprocesses running.\n\nCurrent finite qualification:95/95 Python tests normal and optimized, CPython3.9.6, actualexit0;24/24 named auditor mutations,12 per mode, actualexit0 via relative `.lake/auditor-selftest-v2`. `evidence/QUALIFICATION_V2.json` binds raw logs/fullreport. Patch roundtrip20/20 exacthashes, actualexit0. Original38 controls and all326607 proof bytes preserved.\n\nFinal V2 full package gate is **PENDING HOSTED EXECUTION**. The preceding V1 local full gate was explicitly interrupted for a fixture source correction after successful freshbuild/defaultkernel; all partial streams/process metadata and old exactfreeze remain retained, and supply no final gate PASS. Actual discovery census206owned/152visible/54support/8IR/47659axiomclosure belongs to its source-bound observerV2 and default imported-environment kernel scope. No empty-kernel Mathlib, external verifier, broader theorem premise/model acceptance, parent closure, scientific acceptance or merge claim.\n\nThe final fixture change keeps all original assertions and adds phase checks plus a delayed-version case. Parent deterministic RED established old all-phases0.3s timeout expired duringversion; repair gives preliminary probes10s and intentionally sleepingcompile2s. Root independent94-test failure and retainedphase RED remain separate historical evidence.\n" + }, + { + "path": "source/DECISIONS.md", + "bytes": 9777, + "sha256": "9c45cb709b16b6a921c0b6ebbb03c0f69c09c489cc5504ddf83bbfdcd1eb1a0b", + "utf8": "# Cap admission repair decisions\n\n[2026-10-30T00:08:00Z] [phase2] [layerA] Preserve all original Cap proof bytes,152 visible declarations,38 original controls, three original negative controls and exact dependency/runtime policy. Reuse the compiled census protocol with Cap-specific admission; no self-populating binding. Real observed baseline RED precedes changes. Reversible private candidate only. Evidence ../cbz-cap-admission-red-20261030T000328Z/RECEIPT.json.\n\n[REPLACE_ACTUAL_TIMESTAMP] [phase2] [layerA] Correction: the earlier00:08:00Z text and candidate directory T000800Z were planned opaque labels, not observed creation timestamps. No actual creation time is asserted by those labels. All152 original statement premises remain unchanged; gate repair does not imply parent or application closure.\n\n[2026-10-30T00:07:15Z] [phase2] [layerA] Timestamp correction, observed by clock tool: directory T000800Z and first00:08:00Z entry are planned opaque labels, not observed creation times. The immediately preceding REPLACE_ACTUAL_TIMESTAMP marker is a clerical placeholder, not a timestamp claim. This entry supplies the actual observed correction time. No proof or parent/application closure is inferred.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Actual unsafe-opaque fixture compiled and exported successfully, then failed the safety assertion because exporter marked opaque/user/safe. Repair uses pinned ConstantInfo.isUnsafe; the same actual fixture then passed. Original raw streams and pre-fix source/program hashes remain evidence/opaque-exporter-before-fix and after-fix. Exact original observation timestamps were not separately recorded.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Pinned Lean structure fixture established generated Prop projections are theorem/user, so a blanket user-theorem refusal would reject legitimate support. Permit only exact environment-reported projections of the visible CapHyp inductive with fixed observed support bindings; other hidden user theorems still refuse even if manifest-listed. Exact fixture observation timestamp not separately recorded.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Actual first Cap census observed206 owned constants,54 nonvisible support records,143 user theorem constants including5 generated projections,8 IR extras and47659 dependency closure, with only the declared3 imported axioms. It exposed3 legitimate _abel auxiliaries and the need for explicit IR-name bindings. Added actual-derived positive and negative controls, canonical EXTRA records, exact IR binding/count comparisons and the narrowly bound Abel suffix. No production binding was populated from synthetic data.\n\n[2026-10-30T00:24:24Z] [phase2] [layerC] Scope correction: the extra --fresh kernel observer replayed all imported Mathlib rather than the requested Cap packet/closure. At recorded2026-10-30T00:19:45.988158Z, verified only ownedPID45146 and SIGTERMed it; lake returned143 and observer reapedexit1. Preserve evidence/interrupted-full-import-kernel.json and actual-census-v1 raw streams/RUNS. This interrupted experiment is neither PASS nor failed Cap mathematics.\n\n[2026-10-30T00:24:24Z] [phase2] [layerC] A separate leanchecker --help probe unexpectedly executed checking because this CLI has no help handler. At recorded2026-10-30T00:23:12.342809Z verified only ownedPID52383, SIGTERMed and reaped143; evidence/interrupted-help-probe.json retains the command and scope correction. Assign no verification credit.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Runtime owner delivered verified official Darwin Lean4.34.1 release5045d0056413266e57c625dcd7c365b10e377c52. Candidate-only Lake clones resolved exact9 dependency commits; official cache tool unpacked8907 cached objects. Unchanged Cap build completed8925 jobs with Cap compilation288s and empty stderr. No global or parent theorem closure is inferred.\n\n[2026-10-30T00:24:24Z] [phase2] [handoff] Root independent review identified unsafe opaque export, timeout returncode0 acceptance after SIGTERM, stale codegen mutation anchor and missing exact IR-binding mutation. Unsafe opaque defect is repaired with actual red/green evidence. Two actual process/evidence boundary controls also observed red then green for .lake symlink target preservation and owned timeout descendant cleanup. Timeout-exit0 and current mutation-runner follow-ups are queued until frozen observerV2 terminates; no approval wait.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] ObserverV2 uses only retained default leanchecker CapFirstExit scope, complete actual census includingIR names, exact dependency observations and before/after source/runtime identity. Current source remains frozen while it runs. Production compiled bindings and final gate qualification remain absent pending actual result inspection.\n\n[2026-10-30T00:24:24Z] [phase2] [layerA] Test provenance: first29 missing-module assertions establish implementation absence only, not individual guard reachability. Named consumed-source mutants and actual compiler controls establish their own finite coverage. The file named accounting-red.stderr actually records6 passing existing-behavior tests; it is not red bug evidence. All38 original controls remain; additive process-boundary/receipt fixture adaptation is documented. Original Cap proof remains326607 bytes with SHA256040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0.\n\n[2026-10-30T00:40:11Z] [phase2] [layerA] Current clock observed before this append. ObserverV2 completed with retained default target-module kernel replay against imports and actual census; its discovery result supplies fixed54 support/8IR bindings only. Final packet bytes are frozen in FROZEN_SOURCE.json:20 files, all hashes and Git blob IDs reread equal. No packet file was changed during the final run.\n\n[2026-10-30T00:40:11Z] [phase2] [layerA] Integrated the independently reviewed runner/opaque timeout-retention and strict semantic mutation classifier patch after verifying its exact4file before/after bindings. Added the timeout-SIGTERM-exit0 refusal, current exact-codegen anchor and symmetric-difference mutant, setup/output-object bindings, and relative CLI path normalization. Root actual relative-output RED failed due import path before safety assertion; final workflow-equivalent relative-output runner now succeeds. Existing38 controls retained. Earlier22-mutation counts are historical only.\n\n[2026-10-30T00:40:11Z] [phase2] [layerA] Final local CPython3.9.6 controls observed94/94 tests in normal and optimized mode, actual exit0, no errors/skips. Current named auditor controls observed24/24 killed,12 per mode, including actual pinned-Lean unsafe-opaque guard and exact semantic failure classification; runner actual exit0 using --output .lake/auditor-selftest. Raw logs and complete REPORT.json are bound by evidence/QUALIFICATION_CURRENT.json. This finite component result is not full Math/federation regression or scientific acceptance.\n\n[2026-10-30T00:40:11Z] [phase2] [handoff] Parent independently verified all20 frozen source blobs on current complete Math tree and owns draft publication/integration. Actual final gate is still running from00:36:33.152741Z; fresh8925-job build exited0 at00:39:25.596219Z with empty stderr; default kernel replay is active. No final repaired-gate, package-admission, parent closure or merge claim yet. Source remains frozen while execution proceeds.\n\n[2026-10-30T00:44:39Z] [phase2] [layerA] Independent final-copy94-test review observed an ERROR: compile.stdout absent in opaque timeout fixture. Parent deterministic retained-phase reproduction /tmp/cbz-cap-phase-timeout-repro-_xs04ar9/OBSERVATION.json established delayedversion0.6s exceeded the fixture's all-phases0.3s deadline, so it expired before compile. This is a fixture phase defect, not a Cap mathematical counterexample or intended mutation kill. Parent raw94-test failure remains /tmp/cbz-cap-root-final-review-w50dmjil/normal.stderr.\n\n[2026-10-30T00:44:39Z] [phase2] [layerB] Parent explicitly redirected resources from old-cut full local gate to fixture repair and hosted qualification. Verified owned active axioms group81440, SIGTERM at recorded00:42:15.564008Z; run_process retained both empty partial streams, exit-15 and command/time metadata; outer30381 reapedexit1. Verified30381/81440/82160 absent. Successful8925-job build and default owned kernel replay retained as interrupted V1 evidence, no final gate PASS or failed Cap claim. Receipt evidence/interrupted-final-gate-fixture-scope.json; prior source/patch FROZEN_SOURCE_V1_INTERRUPTED.json and FINAL_SOURCE_V1_INTERRUPTED.patch.\n\n[2026-10-30T00:44:39Z] [phase2] [layerA] Repaired only test_process_retention.py and its manifest byte/hash binding. Short compile timeout now2s, other phases10s; require retained versionexit0/nottimedout before all original compile timeout/partialstream/failure-receipt assertions. Added deterministic delayed-version0.6s case. Focused2tests passed, then95tests eachnormal/optimized actualexit0, and24/24 current auditor mutations actualexit0 through relative .lake/auditor-selftest-v2. Original38 controls and all proof/exporter/gate/runner bytes unchanged. Raw paths/hashes evidence/QUALIFICATION_V2.json.\n\n[2026-10-30T00:44:39Z] [phase2] [handoff] FROZEN_SOURCE_V2.json binds20exactfiles. Only fixture+manifest differ from prior freeze. Parent owns current-Math composition, draft publication and hosted full --execute qualification. No local full restart requested while hosted is suitable. FINAL_SOURCE_V2.patch applied to an untouched original-data copy with actualpatch exit0 and20/20 exacthash equality; evidence/PATCH_V2_ROUNDTRIP.json. Final repaired package admission, parent acceptance, global Math regression and scientific acceptance remain unclaimed.\n" + }, + { + "path": "source/QUALIFICATION_V2.json", + "bytes": 2237, + "sha256": "43672f9ca65808a6880229ea3543fc776ec41aa9a481c7a0db243542d61c25ef", + "utf8": "{\n \"artifacts\": {\n \"/tmp/cbz-cap-candidate-20261030T000800Z/FINAL_SOURCE_V2.patch\": {\n \"bytes\": 169301,\n \"sha256\": \"337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/FROZEN_SOURCE_V2.json\": {\n \"bytes\": 6530,\n \"sha256\": \"0d9da71f481fb023a73cb9bd0742612215c4dc7aaae3affd7b15a8e9ef7614e3\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/REPORT.json\": {\n \"bytes\": 6552,\n \"sha256\": \"90921cb853f5890e8d7da996078805237e9c3075df765d9ee3a47e4aad179488\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-auditor-selftest.stderr\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-auditor-selftest.stdout\": {\n \"bytes\": 64,\n \"sha256\": \"41287ddccbad50a1a9999b83a41f9132316b1723b82d630d782d153339586447\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-normal.stderr\": {\n \"bytes\": 8293,\n \"sha256\": \"1fc8c3d6989556e611f3ff1e364494069bb3eb848855b7e429becda11d4807c7\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-normal.stdout\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-optimized.stderr\": {\n \"bytes\": 8293,\n \"sha256\": \"433d5843c825fce65333e2807023b14ed6406d6c2474108fc94ed291289dc900\"\n },\n \"/tmp/cbz-cap-candidate-20261030T000800Z/evidence/final-v2-unit-optimized.stdout\": {\n \"bytes\": 0,\n \"sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n },\n \"frozen_files\": 20,\n \"scope\": {\n \"auditor_mutation_actual_exit\": 0,\n \"final_actual_package_admission\": \"PENDING_HOSTED_EXECUTION; no final PASS\",\n \"named_auditor_mutations_killed\": 24,\n \"normal_tests\": 95,\n \"optimized_tests\": 95,\n \"per_mode\": 12,\n \"python_runtime\": \"CPython3.9.6\",\n \"relative_cli_output\": \".lake/auditor-selftest-v2\",\n \"test_actual_exits\": [\n 0,\n 0\n ]\n }\n}\n" + }, + { + "path": "source/PATCH_V2_ROUNDTRIP.json", + "bytes": 568, + "sha256": "25a2b27bc3bc30f8a6d2094a20ea9d1e75fc7217e6b8b8d6f5fbe0d478d3e51b", + "utf8": "{\n \"observed_utc\": \"2026-10-30T00:44:39.499239+00:00\",\n \"command\": [\n \"/usr/bin/patch\",\n \"--batch\",\n \"-p1\",\n \"-i\",\n \"/tmp/cbz-cap-candidate-20261030T000800Z/FINAL_SOURCE_V2.patch\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cbz-cap-v2-patch-roundtrip-ukyckvtb/Math-\",\n \"actual_exit\": 0,\n \"verified_files\": 20,\n \"mismatches\": [],\n \"patch_sha256\": \"337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e\",\n \"retained_roundtrip\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cbz-cap-v2-patch-roundtrip-ukyckvtb\"\n}\n" + }, + { + "path": "units/final-v2-unit-normal.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "units/final-v2-unit-normal.stderr", + "bytes": 8293, + "sha256": "1fc8c3d6989556e611f3ff1e364494069bb3eb848855b7e429becda11d4807c7", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_delayed_version_is_not_mistaken_for_compile_timeout (test_process_retention.ProcessRetention) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_relative_opaque_cli_paths_are_resolved_before_child_cwd (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_binding_observation_must_match_original_proof_identity (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n----------------------------------------------------------------------\nRan 95 tests in 39.679s\n\nOK\n" + }, + { + "path": "units/final-v2-unit-optimized.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "units/final-v2-unit-optimized.stderr", + "bytes": 8293, + "sha256": "433d5843c825fce65333e2807023b14ed6406d6c2474108fc94ed291289dc900", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_allowed (test_gate.Axioms) ... ok\ntest_forbidden (test_gate.Axioms) ... ok\ntest_missing_and_duplicate (test_gate.Axioms) ... ok\ntest_anonymous_section_rejected (test_gate.Declarations) ... ok\ntest_namespaces (test_gate.Declarations) ... ok\ntest_sections_do_not_prefix (test_gate.Declarations) ... ok\ntest_unbalanced (test_gate.Declarations) ... ok\ntest_clean_run_observes_both_ends (test_gate.Execute) ... ok\ntest_dependency_head_drift_during_execution (test_gate.Execute) ... ok\ntest_dependency_worktree_dirtied_during_execution (test_gate.Execute) ... ok\ntest_final_version_differs_from_preflight (test_gate.Execute) ... ok\ntest_final_version_not_the_release (test_gate.Execute) ... ok\ntest_info_lines_before_version_accepted_in_execute (test_gate.Execute) ... ok\ntest_lean_source_changed_during_execution (test_gate.Execute) ... ok\ntest_main_execute_entry (test_gate.Execute) ... ok\ntest_main_pin_changed_during_execution (test_gate.Execute) ... ok\ntest_manifest_bytes_changed_during_execution (test_gate.Execute) ... ok\ntest_preflight_debug_build_rejected (test_gate.Execute) ... ok\ntest_preflight_wrong_commit_rejected_before_any_build (test_gate.Execute) ... ok\ntest_receipt_records_both_observations (test_gate.Execute) ... ok\ntest_source_and_manifest_rewritten_together_during_execution (test_gate.Execute) ... ok\ntest_info_lines_before_the_version_line_accepted (test_gate.Pins) ... ok\ntest_non_release_build_rejected (test_gate.Pins) ... ok\ntest_release_line_accepted_exactly (test_gate.Pins) ... ok\ntest_same_semver_other_commit_rejected (test_gate.Pins) ... ok\ntest_text_around_the_version_line (test_gate.Pins) ... ok\ntest_version_comes_from_the_toolchain_pin (test_gate.Pins) ... ok\ntest_version_exact (test_gate.Pins) ... ok\ntest_worktree_clean (test_gate.Pins) ... ok\ntest_copy_passes (test_gate.SourceGate) ... ok\ntest_extra_file_rejected (test_gate.SourceGate) ... ok\ntest_modified_lean_rejected (test_gate.SourceGate) ... ok\ntest_pin_drift_rejected (test_gate.SourceGate) ... ok\ntest_tree_passes (test_gate.SourceGate) ... ok\ntest_code_detected (test_gate.Tokens) ... ok\ntest_comments_ignored (test_gate.Tokens) ... ok\ntest_nested_comment (test_gate.Tokens) ... ok\ntest_unterminated_comment (test_gate.Tokens) ... ok\ntest_actual_exporter_kill_requires_its_safety_assertion_marker (test_mutation_accounting.MutationAccounting) ... ok\ntest_foreign_assertion_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_import_or_test_error_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_intended_assertion_is_counted (test_mutation_accounting.MutationAccounting) ... ok\ntest_process_error_or_success_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_foreign_assertion_without_guard_bypass_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_same_method_wrong_cause_is_not_a_kill (test_mutation_accounting.MutationAccounting) ... ok\ntest_zero_and_multiple_collections_are_not_single_control_kills (test_mutation_accounting.MutationAccounting) ... ok\ntest_delayed_version_is_not_mistaken_for_compile_timeout (test_process_retention.ProcessRetention) ... ok\ntest_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_relative_opaque_cli_paths_are_resolved_before_child_cwd (test_process_retention.ProcessRetention) ... ok\ntest_success_and_nonzero_exit_retain_separate_streams_and_metadata (test_process_retention.ProcessRetention) ... ok\ntest_timeout_retains_partial_streams_and_cleans_owned_child (test_process_retention.ProcessRetention) ... ok\ntest_timeout_that_exits_zero_is_still_refused_after_retention (test_process_retention.ProcessRetention) ... ok\ntest_lake_symlink_cannot_move_or_remove_external_evidence (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_timeout_retains_streams_and_cleans_owned_descendants (test_runtime_boundary.RuntimeBoundary) ... ok\ntest_absent_actual_census_cannot_self_qualify (test_source_admission.SourceAdmission) ... ok\ntest_binding_observation_must_match_original_proof_identity (test_source_admission.SourceAdmission) ... ok\ntest_digest_rebound_private_theorem_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_forged_visible_kind_map_is_rejected (test_source_admission.SourceAdmission) ... ok\ntest_noncache_nested_source_is_not_silently_omitted (test_source_admission.SourceAdmission) ... ok\ntest_unlisted_definition_cannot_be_hidden_by_source_hash_rebinding (test_source_admission.SourceAdmission) ... ok\ntest_timed_out_zero_exit_is_refused_after_recording_streams (test_timeout_exit_zero.TimeoutExitZero) ... ok\n\n----------------------------------------------------------------------\nRan 95 tests in 38.920s\n\nOK\n" + }, + { + "path": "units/final-v2-auditor-selftest.stdout", + "bytes": 64, + "sha256": "41287ddccbad50a1a9999b83a41f9132316b1723b82d630d782d153339586447", + "utf8": "{\"mutations\": 24, \"all_killed\": true, \"source_preserved\": true}\n" + }, + { + "path": "units/final-v2-auditor-selftest.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-02.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-02.json new file mode 100644 index 000000000..dbe949788 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-02.json @@ -0,0 +1,250 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "auditor-selftest-v2/REPORT.json", + "bytes": 6552, + "sha256": "90921cb853f5890e8d7da996078805237e9c3075df765d9ee3a47e4aad179488", + "utf8": "{\n \"mutations\": [\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"owned_axiom\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"extra_constant\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"hidden_user_theorem\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"hidden_user_definition\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"axiom_closure\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_duplicate_names_and_module_counts_refuse\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"module_count\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_missing_or_changed_support_record_refuses\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"missing_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_module_system_and_codegen_extras_fail_closed\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"codegen_extras\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_codegen_extras_are_exactly_bound_not_ignored\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"codegen_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"unsafe_partial\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"unsupported_kind\"\n },\n {\n \"exit\": 1,\n \"killed\": true,\n \"mode\": \"normal\",\n \"mutation\": \"actual_opaque_export\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"owned_axiom\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_compiler_shaped_added_theorem_is_not_automatically_admitted\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"extra_constant\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"hidden_user_theorem\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_user_definition_cannot_be_laundered_as_structure_support\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"hidden_user_definition\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unused_sorry_and_custom_axiom_closure_refuse\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"axiom_closure\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_duplicate_names_and_module_counts_refuse\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"module_count\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_missing_or_changed_support_record_refuses\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"missing_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_module_system_and_codegen_extras_fail_closed\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"codegen_extras\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_codegen_extras_are_exactly_bound_not_ignored\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"codegen_binding\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_unsafe_or_partial_constant_refuses_even_if_bound\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"unsafe_partial\"\n },\n {\n \"exit\": 1,\n \"expected_test\": \"test_owned_opaque_and_quot_never_self_admit\",\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"unsupported_kind\"\n },\n {\n \"exit\": 1,\n \"killed\": true,\n \"mode\": \"optimized\",\n \"mutation\": \"actual_opaque_export\"\n }\n ],\n \"schema\": \"cap.auditor-mutations.v1\",\n \"source_preserved\": true,\n \"source_sha256\": {\n \".gitignore\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\",\n \"ALIGNMENT.md\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\",\n \"CBZ_ADMISSION.md\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\",\n \"CapFirstExit.lean\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\",\n \"MANIFEST.json\": \"83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb\",\n \"README.md\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\",\n \"compiled_inventory.py\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"gate.py\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\",\n \"lake-manifest.json\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\",\n \"lakefile.toml\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\",\n \"lean-toolchain\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\",\n \"lean_opaque_control.py\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\",\n \"run_cbz_mutations.py\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\",\n \"test_compiled_inventory.py\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\",\n \"test_gate.py\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\",\n \"test_mutation_accounting.py\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\",\n \"test_process_retention.py\": \"6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217\",\n \"test_runtime_boundary.py\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\",\n \"test_source_admission.py\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\",\n \"test_timeout_exit_zero.py\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n },\n \"threshold\": \"all12 named mutations in each Python mode\"\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-axiom_closure.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-axiom_closure.process.json", + "bytes": 393, + "sha256": "05a5abd28824abbe829eb49dbca83802680cd20ce741825ad3833116fdd2a824", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unused_sorry_and_custom_axiom_closure_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-axiom_closure.stderr", + "bytes": 1019, + "sha256": "f9f5e72a2ac3c39c7317a22a3e734c520de892b58ecc73e64ee97caa8e14463d", + "utf8": "test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 190, in test_unused_sorry_and_custom_axiom_closure_refuse\n self.reject(transcript(axioms=[enc(axiom)]), 'forbidden_axiom')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-axiom_closure.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-baseline.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-baseline.process.json", + "bytes": 325, + "sha256": "b7cf386f3e33b51c77ad92a60e88517220ca1576551a4b99b21862f93c3c38d4", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-baseline.stderr", + "bytes": 3646, + "sha256": "d8893ef9cec7166ba8f6bfeca4781e68587427bd2902c242f09562c2ff4c0557", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n----------------------------------------------------------------------\nRan 34 tests in 0.059s\n\nOK\n" + }, + { + "path": "auditor-selftest-v2/normal-baseline.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-codegen_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_binding.process.json", + "bytes": 393, + "sha256": "9ac145c8207d38eb1b8fa90923a4bde2e3e853a1bb434beee0a8788af7c482ad", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_codegen_extras_are_exactly_bound_not_ignored\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_binding.stderr", + "bytes": 757, + "sha256": "7eb2e5467b0123268a65f221e48ae0bdb458b6b986b174b6bb0b5ec37687fd41", + "utf8": "test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 169, in test_codegen_extras_are_exactly_bound_not_ignored\n self.codegen_call(text,[])\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.005s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-codegen_extras.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_extras.process.json", + "bytes": 393, + "sha256": "8f1daa7ecbba8676336edd540857f68496efe967e680a3bda64793c143d127f1", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_module_system_and_codegen_extras_fail_closed\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_extras.stderr", + "bytes": 1005, + "sha256": "84e6bc56aac439d4443f8bceb2a30922805810e12bb34b4be6697ddfec479eb4", + "utf8": "test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 147, in test_module_system_and_codegen_extras_fail_closed\n self.reject(transcript(extra=1), 'codegen_extra')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-codegen_extras.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-extra_constant.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-extra_constant.process.json", + "bytes": 408, + "sha256": "834edbf9fb74d64e4e1244b2e51925b524c21bc3ad59b256e2c2d6fdbef42fd9", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_compiler_shaped_added_theorem_is_not_automatically_admitted\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-extra_constant.stderr", + "bytes": 1066, + "sha256": "df6c1e3e1429d073ee366608fa780a6c787a181ff8204bf56697c78130690dd6", + "utf8": "test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 117, in test_compiler_shaped_added_theorem_is_not_automatically_admitted\n self.reject(transcript(ROWS + [hidden]), 'unregistered_constant')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.005s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-extra_constant.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_definition.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_definition.process.json", + "bytes": 405, + "sha256": "aeacf98cbb2a5dae23d491eab0c9f633f8652e3a502f24c3ea937e8e16206576", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_user_definition_cannot_be_laundered_as_structure_support\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_definition.stderr", + "bytes": 1080, + "sha256": "c92c5df1bfc4816cab310c1a09bd4e918d36e7e2c88fbc977f4144fed5afc862", + "utf8": "test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 93, in test_user_definition_cannot_be_laundered_as_structure_support\n self.reject(transcript(ROWS + [hidden]), 'extra_user_definition', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_definition.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_theorem.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_theorem.process.json", + "bytes": 410, + "sha256": "753ff0ae39def5001759105c9cd44406383698102a4e37172d381529211279d7", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_theorem.stderr", + "bytes": 1092, + "sha256": "6ec27c2ab31b570b2a93a798be891371780925eb2c51c8cf6583e21138cc1dcf", + "utf8": "test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 85, in test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\n self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-hidden_user_theorem.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-missing_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-missing_binding.process.json", + "bytes": 390, + "sha256": "0f325a89b665a2ca41de9f65c6b2ec803018e15764a4dcaee500cbdb9a651f27", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_missing_or_changed_support_record_refuses\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-missing_binding.stderr", + "bytes": 1009, + "sha256": "7da84e25250fb82333c055159f12b0f913090527d8fec52083388cf5f63495b6", + "utf8": "test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 126, in test_missing_or_changed_support_record_refuses\n self.reject(transcript(), 'missing_constant', BOUND + [extra])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-missing_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-module_count.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-module_count.process.json", + "bytes": 389, + "sha256": "f51fdf687e1c0568e10b27e73fa3125fa72b91087ab067e87c03a843338befb1", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_duplicate_names_and_module_counts_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-module_count.stderr", + "bytes": 994, + "sha256": "61b785d1d4a72ba7298b7b5045c93102e258ef910dae2c7eec8a4ad862799553", + "utf8": "test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 138, in test_duplicate_names_and_module_counts_refuse\n self.reject(transcript(count=8), 'count_mismatch')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-module_count.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/Inventory.lean", + "bytes": 3980, + "sha256": "d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if false then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-03.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-03.json new file mode 100644 index 000000000..46d1023c0 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-03.json @@ -0,0 +1,364 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "auditor-selftest-v2/normal-opaque-mutant/RESULT.json", + "bytes": 2056, + "sha256": "a1851949b907b5d9a488d2f1b948ecb53363266c046712e6ff88a112052c09e1", + "utf8": "{\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"bde899df41f9676fd6ca47d9b2799f4cdc7ff4d0cd0db075ccda61f9de9d0922\",\n \"program_sha256\": \"d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/compile.process.json", + "bytes": 598, + "sha256": "c6c043fe926c05239b8f908644f2659e9e98b67c1fb6e2af56c84b606ea1bbf5", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/export.process.json", + "bytes": 559, + "sha256": "3d04dcde4d21c7b0d7a4a81e78192746912cf2bb645a556d00150ad104e9a699", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/export.stdout", + "bytes": 251, + "sha256": "00b6e6720eaa0a0b5ca5d46ecc3a2136e8cd518c713e008f15bfa2481259dd31", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/version.process.json", + "bytes": 340, + "sha256": "c1b223e39e46ff6ff6932c7bfa5a518e7b7f1cafc7d0e25bebc11ca44e2a7e66", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant-observer.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant-observer.process.json", + "bytes": 554, + "sha256": "49dcdaf897e202e3fb59774701622412af88d427de90b155a107cac26c7d187e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-mutant\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant-observer.stderr", + "bytes": 733, + "sha256": "0bc464b0e6f6dca7751dd27b61d6f2c3f8ce881b0d329c5883bfe645ac98cccd", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... FAIL\n\n======================================================================\nFAIL: runTest (__main__.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/lean_opaque_control.py\", line 54, in runTest\n self.assertEqual(hazards[0][4],'unsafe','ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH')\nAssertionError: 'safe' != 'unsafe'\n- safe\n+ unsafe\n? ++\n : ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH\n\n----------------------------------------------------------------------\nRan 1 test in 1.403s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-mutant-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/Inventory.lean", + "bytes": 3986, + "sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/RESULT.json", + "bytes": 2065, + "sha256": "90b8ca533aea9505db31d0346d9bda33f51e764b819cd721a6831bbf85d6328a", + "utf8": "{\n \"errors\": 0,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": true,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/compile.process.json", + "bytes": 602, + "sha256": "a9d3ba75a5d6f4b461f313b782f89e948ad9b45318ed52420e71f6d7490d5fd4", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/export.process.json", + "bytes": 563, + "sha256": "e4b88e1aaa471a1f8f5ea33029933f8460e7d6b9d702a98437a032fbb9e9dd36", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/export.stdout", + "bytes": 253, + "sha256": "650a6d859e5a945a03a99cf8446b6cb63508ef34cbca20e9e77e247afa4e5f68", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|unsafe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/version.process.json", + "bytes": 342, + "sha256": "252e1cd47329ab80e39768586245851cb836de9c0aad5af2aa51db328990dd80", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive-observer.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive-observer.process.json", + "bytes": 556, + "sha256": "41f6b99311e84602b7e27147214a5a32aa8495f3825be2e44ae294a127bdcf73", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/normal-opaque-positive\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive-observer.stderr", + "bytes": 154, + "sha256": "e657a67b27c42612a4ad80532f9a801229e5142a408382aa1546181cc4241e21", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 7.833s\n\nOK\n" + }, + { + "path": "auditor-selftest-v2/normal-opaque-positive-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-owned_axiom.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-owned_axiom.process.json", + "bytes": 405, + "sha256": "7e31259d80ad9d4399b08b40708b94efb81d7c007c45a24bf591901c87d7717a", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-owned_axiom.stderr", + "bytes": 1067, + "sha256": "63573cec4a757bec83b6c0d3836f8a5082b4565c15fc470c34dd9f06cdc2049b", + "utf8": "test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 186, in test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\n self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-owned_axiom.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-unsafe_partial.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-unsafe_partial.process.json", + "bytes": 397, + "sha256": "dc7a54230aa1e443bb08160029f522d6519482691bff320e14a92c5823ad38e7", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unsafe_or_partial_constant_refuses_even_if_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-unsafe_partial.stderr", + "bytes": 1043, + "sha256": "9148325fd43d6d627d516076f92ca6723d73ce0da17d6e4e504e64ee76d6b15f", + "utf8": "test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 199, in test_unsafe_or_partial_constant_refuses_even_if_bound\n self.reject(transcript(ROWS+[row]), 'unsafe_or_partial', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-unsafe_partial.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/normal-unsupported_kind.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/normal-unsupported_kind.process.json", + "bytes": 387, + "sha256": "2ec9887a3751e7fe35324c65d5425cf96c52332d5695adb487d86bd15016ee92", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_opaque_and_quot_never_self_admit\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/normal-unsupported_kind.stderr", + "bytes": 1018, + "sha256": "aa3dcf8f4d2357b390e9b8cd06113886b521f7edfd40c63a7daf7b42ca397872", + "utf8": "test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 204, in test_owned_opaque_and_quot_never_self_admit\n self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/normal/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.005s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/normal-unsupported_kind.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-axiom_closure.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-axiom_closure.process.json", + "bytes": 406, + "sha256": "7639d4bcdf718d0b065e850807fa8c9d48f9a1e9d910fe13d456b78789245f6e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unused_sorry_and_custom_axiom_closure_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-axiom_closure.stderr", + "bytes": 1025, + "sha256": "1feb593e2cf2957bb4627c27308711f6dfd5f9fcc91de53317143c8775ac1614", + "utf8": "test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 190, in test_unused_sorry_and_custom_axiom_closure_refuse\n self.reject(transcript(axioms=[enc(axiom)]), 'forbidden_axiom')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-axiom_closure.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-baseline.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-baseline.process.json", + "bytes": 338, + "sha256": "6bb51cc3de8467987d669de03c5f9f0d9371ca95fda753ea6a65ec7f4ca463a3", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-baseline.stderr", + "bytes": 3646, + "sha256": "c968b8f408322927dc35915072b574c76edd41bd6f8ca85a3180d7b9c8a738ef", + "utf8": "test_actual_abel_suffix_is_admitted_only_with_exact_binding (test_compiled_inventory.CompiledInventory) ... ok\ntest_auxiliary_theorem_without_real_visible_parent_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_binding_duplicates_target_shadowing_and_bad_records_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_duplicate_or_wrong_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... ok\ntest_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_duplicate_summary_and_impossible_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_exporter_selects_module_tables_and_emits_protocol (test_compiled_inventory.CompiledInventory) ... ok\ntest_generated_provenance_is_bound_exactly (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_hidden_public_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... ok\ntest_lossless_unicode_private_and_numeric_names (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_duplicate_and_extra_module_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_projection_relation_refuses_user_generated_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_missing_visible_definition_and_structure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... ok\ntest_noncanonical_or_malformed_names_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_nonempty_cap_module_and_mixed_visible_kinds_pass (test_compiled_inventory.CompiledInventory) ... ok\ntest_outside_module_cannot_hide_owned_constant (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... ok\ntest_private_numeric_identity_cannot_collapse (test_compiled_inventory.CompiledInventory) ... ok\ntest_prop_projection_theorem_uses_actual_structure_relation (test_compiled_inventory.CompiledInventory) ... ok\ntest_protocol_junk_missing_summary_and_malformed_record_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_structural_relation_requires_visible_inductive_parent (test_compiled_inventory.CompiledInventory) ... ok\ntest_target_axiom_omission_and_duplicate_axiom_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_unicode_visible_target_is_not_lost (test_compiled_inventory.CompiledInventory) ... ok\ntest_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... ok\ntest_unused_sorry_and_custom_axiom_closure_refuse (test_compiled_inventory.CompiledInventory) ... ok\ntest_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... ok\ntest_visible_kind_change_refuses (test_compiled_inventory.CompiledInventory) ... ok\ntest_wrong_structural_kind_refuses (test_compiled_inventory.CompiledInventory) ... ok\n\n----------------------------------------------------------------------\nRan 34 tests in 0.047s\n\nOK\n" + }, + { + "path": "auditor-selftest-v2/optimized-baseline.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_binding.process.json", + "bytes": 406, + "sha256": "3adccf5102eb9c0d489b47a025d57467a64110a279a396dd0eebcf5d2fc65428", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_codegen_extras_are_exactly_bound_not_ignored\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-04.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-04.json new file mode 100644 index 000000000..b6fd2ae6c --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-04.json @@ -0,0 +1,292 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "auditor-selftest-v2/optimized-codegen_binding.stderr", + "bytes": 760, + "sha256": "1ccb6cb402ffbf302cf9d058f8e73eb2295c306552d2e74b1da23814b0eba59b", + "utf8": "test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_codegen_extras_are_exactly_bound_not_ignored (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 169, in test_codegen_extras_are_exactly_bound_not_ignored\n self.codegen_call(text,[])\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.004s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_extras.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_extras.process.json", + "bytes": 406, + "sha256": "7fc1d4ac4083dfc4330e914dd53e7f2d301d855207e55c7a26956eefdbb0665d", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_module_system_and_codegen_extras_fail_closed\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_extras.stderr", + "bytes": 1011, + "sha256": "a5aa169281db4f08a5f578e22b979c9eb27b28afaa88c46029721885007c9d33", + "utf8": "test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_module_system_and_codegen_extras_fail_closed (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 147, in test_module_system_and_codegen_extras_fail_closed\n self.reject(transcript(extra=1), 'codegen_extra')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-codegen_extras.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-extra_constant.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-extra_constant.process.json", + "bytes": 421, + "sha256": "d3878a6f70478196e5e009de08ef3961be7b46c75ce4fc56b4b95d64abc55e4e", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_compiler_shaped_added_theorem_is_not_automatically_admitted\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-extra_constant.stderr", + "bytes": 1072, + "sha256": "83a842d1f8f9b89d6fbda6de8ef1a87f1d2c272498c0a1479629dea8d7ac558c", + "utf8": "test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_compiler_shaped_added_theorem_is_not_automatically_admitted (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 117, in test_compiler_shaped_added_theorem_is_not_automatically_admitted\n self.reject(transcript(ROWS + [hidden]), 'unregistered_constant')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-extra_constant.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_definition.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_definition.process.json", + "bytes": 418, + "sha256": "ed4a0731ebbce893cacedd7bdfe7e37fd5211401de037320160d5e00947b9feb", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_user_definition_cannot_be_laundered_as_structure_support\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_definition.stderr", + "bytes": 1086, + "sha256": "078bcd15b37d56f7f40e5b817f79355db8ff0ccde172eb14c7c3297d5db4681c", + "utf8": "test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_user_definition_cannot_be_laundered_as_structure_support (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 93, in test_user_definition_cannot_be_laundered_as_structure_support\n self.reject(transcript(ROWS + [hidden]), 'extra_user_definition', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_definition.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_theorem.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_theorem.process.json", + "bytes": 423, + "sha256": "bab7ad878b03e62ceab0a414ad9200066476c065a75fa0c5836a516b24ae367a", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_theorem.stderr", + "bytes": 1098, + "sha256": "511832f38d5c4ef715942f85813bda1385f1f37cde342866c52ed7a7a8583215", + "utf8": "test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 85, in test_hidden_private_user_theorem_rejects_even_if_manifest_lists_it\n self.reject(transcript(ROWS + [hidden]), 'extra_user_theorem', BOUND + [list(hidden)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-hidden_user_theorem.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-missing_binding.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-missing_binding.process.json", + "bytes": 403, + "sha256": "ab978174fc631ec4881f7e5248d1db818403c02e52b10d252ebc6a3735b79be8", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_missing_or_changed_support_record_refuses\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-missing_binding.stderr", + "bytes": 1015, + "sha256": "38dba1ed26d93f17b3d8563cd27870cc6eb99a4bcfefb99ced65257e55bd8510", + "utf8": "test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_missing_or_changed_support_record_refuses (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 126, in test_missing_or_changed_support_record_refuses\n self.reject(transcript(), 'missing_constant', BOUND + [extra])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-missing_binding.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-module_count.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-module_count.process.json", + "bytes": 402, + "sha256": "0887f51eec38711b7652e1bd6aa6306290c03385d2f21d4432efae4b80e55fc6", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_duplicate_names_and_module_counts_refuse\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-module_count.stderr", + "bytes": 1000, + "sha256": "e36caf4b414a963ae57094bac63ce808581d40ce1a7038bda1b9689594da1504", + "utf8": "test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_duplicate_names_and_module_counts_refuse (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 138, in test_duplicate_names_and_module_counts_refuse\n self.reject(transcript(count=8), 'count_mismatch')\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-module_count.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/Inventory.lean", + "bytes": 3980, + "sha256": "d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if false then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/RESULT.json", + "bytes": 2071, + "sha256": "35f376aaa126d5288eb70fda1d00abd233751339b8a3caea906ef05ac3545961", + "utf8": "{\n \"errors\": 0,\n \"failures\": 1,\n \"implementation_sha256\": \"bde899df41f9676fd6ca47d9b2799f4cdc7ff4d0cd0db075ccda61f9de9d0922\",\n \"program_sha256\": \"d4020f5920d9916eab59e263173f1f2a86864e00f1ee77ea64698f3173c89007\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": false,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/compile.process.json", + "bytes": 604, + "sha256": "7a4f2bcbf49eea48556cec0a7d708aa7842895836ee0aaeba897e11eed38379c", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/export.process.json", + "bytes": 565, + "sha256": "d2714e5a0a23a0e7dee3205267e706d86d4e81dc062a461ee90691fb5ed63318", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/export.stdout", + "bytes": 251, + "sha256": "00b6e6720eaa0a0b5ca5d46ecc3a2136e8cd518c713e008f15bfa2481259dd31", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|safe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/version.process.json", + "bytes": 343, + "sha256": "2de3435bd728ca14e3ca89e377c957fd1a597d4cfa99b219aff41bcc2f7c627b", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant-observer.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant-observer.process.json", + "bytes": 570, + "sha256": "8e82ecb9aff180a2fe7260cc777142f87ce5d20aac8e65c64d8bac32a3de9c67", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-mutant\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant-observer.stderr", + "bytes": 736, + "sha256": "702c641c52e4e8fc7f7cea2f3dc04bee3da52f6bac8d86005502ca48fbee7326", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... FAIL\n\n======================================================================\nFAIL: runTest (__main__.main..ActualLeanSafety)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/lean_opaque_control.py\", line 54, in runTest\n self.assertEqual(hazards[0][4],'unsafe','ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH')\nAssertionError: 'safe' != 'unsafe'\n- safe\n+ unsafe\n? ++\n : ACTUAL_UNSAFE_OPAQUE_EXPORT_MISMATCH\n\n----------------------------------------------------------------------\nRan 1 test in 1.362s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-mutant-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/CapFirstExit.lean", + "bytes": 115, + "sha256": "ce760a0a7ed71556a624b9717735c37e4f66cd832b8b58eb345084daa83830de", + "utf8": "namespace CapFirstExit\nunsafe opaque opaqueHazard : Nat := 0\ntheorem visible : True := by trivial\nend CapFirstExit\n" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-05.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-05.json new file mode 100644 index 000000000..092b38bcb --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-05.json @@ -0,0 +1,226 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "auditor-selftest-v2/optimized-opaque-positive/CapFirstExit.olean", + "bytes": 6168, + "sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "offset": 0, + "chunk_bytes": 6168, + "chunk_sha256": "f0ffca6116982376203302d47bfc8df44a6a43fb395c78b3794630663f1f4b2d", + "base64": "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" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/Inventory.lean", + "bytes": 3986, + "sha256": "a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2", + "utf8": "import CapFirstExit\nimport Lean\nopen Lean\n\ndef _cap.kind : ConstantInfo → String\n | .thmInfo _ => \"theorem\" | .defnInfo _ => \"def\" | .axiomInfo _ => \"axiom\" | .opaqueInfo _ => \"opaque\"\n | .inductInfo _ => \"inductive\" | .ctorInfo _ => \"ctor\" | .recInfo _ => \"rec\" | .quotInfo _ => \"quot\"\ndef _cap.safety (ci : ConstantInfo) : String :=\n if ci.isUnsafe then \"unsafe\" else\n match ci with\n | .defnInfo v => match v.safety with\n | .safe => \"safe\" | .unsafe => \"unsafe\" | .partial => \"partial\"\n | _ => \"safe\"\ndef _cap.hex (s : String) : String :=\n s.toUTF8.foldl (fun acc b => acc ++ (if b.toNat < 16 then \"0\" else \"\") ++ String.ofList (Nat.toDigits 16 b.toNat)) \"\"\ndef _cap.join (a b : String) : String := if a.isEmpty then b else a ++ \"/\" ++ b\ndef _cap.enc : Name → String\n | .anonymous => \"\"\n | .str p s => _cap.join (_cap.enc p) (\"s\" ++ _cap.hex s)\n | .num p k => _cap.join (_cap.enc p) (\"n\" ++ toString k)\nstructure _cap.St where\n visited : NameSet := {}\n axioms : NameSet := {}\n missing : NameSet := {}\npartial def _cap.collect (env : Environment) (c : Name) : StateM _cap.St Unit := do\n unless (← get).visited.contains c do\n modify fun s => { s with visited := s.visited.insert c }\n let expr (e : Expr) : StateM _cap.St Unit := e.getUsedConstants.forM (_cap.collect env)\n match env.find? c with\n | some (.axiomInfo v) => modify (fun s => { s with axioms := s.axioms.insert c }) *> expr v.type\n | some (.defnInfo v) => expr v.type *> expr v.value\n | some (.thmInfo v) => expr v.type *> expr v.value\n | some (.opaqueInfo v) => expr v.type *> expr v.value\n | some (.quotInfo _) => pure ()\n | some (.ctorInfo v) => expr v.type\n | some (.recInfo v) => expr v.type\n | some (.inductInfo v) => expr v.type *> v.ctors.forM (_cap.collect env)\n | none => modify fun s => { s with missing := s.missing.insert c }\ndef _cap.main : CoreM Unit := do\n let env ← getEnv\n let header := env.header\n let names := header.moduleNames\n let mut owned : Array (Name × ConstantInfo × Name) := #[]\n for h : idx in [0:names.size] do\n let m := names[idx]\n if (`CapFirstExit).isPrefixOf m then\n let data := header.moduleData[idx]!\n IO.println s!\"MODULE|{_cap.enc m}|{data.isModule}|{data.constNames.size}|{data.extraConstNames.size}\"\n for c in data.extraConstNames do\n IO.println s!\"EXTRA|{_cap.enc m}|{_cap.enc c}\"\n for c in data.constNames do\n match env.find? c with\n | some ci => owned := owned.push (c, ci, m)\n | none => throwError \"module constant missing from environment\"\n let sorted := owned.qsort (fun a b => _cap.enc a.1 < _cap.enc b.1)\n for (c, ci, m) in sorted do\n let origin := if (← findDeclarationRanges? c).isSome then \"user\" else \"aux\"\n IO.println s!\"INV|{_cap.kind ci}|{origin}|{_cap.enc m}|{_cap.enc c}|{_cap.safety ci}\"\n let structName := `CapFirstExit.CapHyp\n if let some info := getStructureInfo? env structName then\n let ctor := getStructureCtor env structName\n IO.println s!\"REL|constructor|{_cap.enc ctor.name}|{_cap.enc structName}\"\n for field in info.fieldInfo do\n IO.println s!\"REL|projection|{_cap.enc field.projFn}|{_cap.enc structName}\"\n for (c, ci, _) in sorted do\n if c.getPrefix == structName then\n match ci with\n | .recInfo _ => IO.println s!\"REL|recursor|{_cap.enc c}|{_cap.enc structName}\"\n | _ =>\n if isAuxRecursor env c then\n IO.println s!\"REL|aux_recursor|{_cap.enc c}|{_cap.enc structName}\"\n else if isNoConfusion env c then\n IO.println s!\"REL|no_confusion|{_cap.enc c}|{_cap.enc structName}\"\n let (_, state) := (sorted.forM (fun item => _cap.collect env item.1)).run {}\n unless state.missing.isEmpty do throwError \"dependency constant missing from environment\"\n let axioms := (state.axioms.toArray.map _cap.enc).qsort (· < ·)\n IO.println s!\"AXIOMS|{\",\".intercalate axioms.toList}\"\n IO.println s!\"CLOSURE|{state.visited.size}\"\n#eval _cap.main\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/RESULT.json", + "bytes": 2080, + "sha256": "d701fe2b5f81e015180ffdd4ef6d620de31ef53388c3cd1a7d236c4e0866f05b", + "utf8": "{\n \"errors\": 0,\n \"failures\": 0,\n \"implementation_sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\",\n \"program_sha256\": \"a135a25a5dbf0d27f5ba15eeddc53511ee52f8b00bf901b77922385e9480eee2\",\n \"runs\": [\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"version\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"compile\",\n \"timed_out\": false\n },\n {\n \"cleanup_signals\": [],\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"label\": \"export\",\n \"timed_out\": false\n }\n ],\n \"schema\": \"cap.actual-opaque-export-control.v1\",\n \"success\": true,\n \"tests\": 1\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/compile.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/compile.process.json", + "bytes": 608, + "sha256": "170e0fa2ce8df8a30aa84b87fd462573e949b20d8e55dc19f9e8997eabdb2f11", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"-o\",\n \"CapFirstExit.olean\",\n \"CapFirstExit.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/compile.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/compile.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/export.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/export.process.json", + "bytes": 569, + "sha256": "0145ee963295a5354b2faed95ea33b0e8ccb55c471f6cb0d0f960dd1e66d5f5c", + "utf8": "{\n \"command\": [\n \"/usr/bin/env\",\n \"LEAN_PATH=/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"LEAN_NUM_THREADS=2\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"-j2\",\n \"Inventory.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/export.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/export.stdout", + "bytes": 253, + "sha256": "650a6d859e5a945a03a99cf8446b6cb63508ef34cbca20e9e77e247afa4e5f68", + "utf8": "MODULE|s436170466972737445786974|false|2|0\nINV|opaque|user|s436170466972737445786974|s436170466972737445786974/s6f706171756548617a617264|unsafe\nINV|theorem|user|s436170466972737445786974|s436170466972737445786974/s76697369626c65|safe\nAXIOMS|\nCLOSURE|11\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/version.process.json", + "bytes": 345, + "sha256": "e7ce7d3eddebf94d28453b319314215dd9fd532541f6d0f0ff83f3d94234f705", + "utf8": "{\n \"command\": [\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive-observer.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive-observer.process.json", + "bytes": 572, + "sha256": "30d160fd58d20db7121f4e663f45aba4bdff2c491d4e40c78eb17543ae29cac1", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"lean_opaque_control.py\",\n \"--lean\",\n \"/private/tmp/cbz-lean-4.34.1-smvim4pq/runtime/lean-4.34.1-darwin_aarch64/bin/lean\",\n \"--output\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest-v2/optimized-opaque-positive\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive-observer.stderr", + "bytes": 154, + "sha256": "3d0df2745bc37b2521b08225b8c92b8c765637daec1a15dd6c524e650728667f", + "utf8": "runTest (__main__.main..ActualLeanSafety) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 1.355s\n\nOK\n" + }, + { + "path": "auditor-selftest-v2/optimized-opaque-positive-observer.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-owned_axiom.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-owned_axiom.process.json", + "bytes": 418, + "sha256": "c93d72777054cf8948e07a29ad6a96d2a5e0bf1147f2180acc8ad2cfa50b4b43", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-owned_axiom.stderr", + "bytes": 1073, + "sha256": "92725bcd398c2f59f70637aff823fa896b394d3511f105a8efe393f28c38e767", + "utf8": "test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_axiom_is_forbidden_even_if_approved_name_and_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 186, in test_owned_axiom_is_forbidden_even_if_approved_name_and_bound\n self.reject(transcript(ROWS + [row]), 'package_axiom', BOUND + [list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-owned_axiom.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-unsafe_partial.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsafe_partial.process.json", + "bytes": 410, + "sha256": "ab4c5442eb43a1a750c74d52482b632f73cc8dcc6472abb2071d65a357fa00f7", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_unsafe_or_partial_constant_refuses_even_if_bound\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsafe_partial.stderr", + "bytes": 1049, + "sha256": "be406e18029f08d68fb3e99ac18bcc1896fb7d5122fff45d7fa1fc4e0bd5ce02", + "utf8": "test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_unsafe_or_partial_constant_refuses_even_if_bound (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 199, in test_unsafe_or_partial_constant_refuses_even_if_bound\n self.reject(transcript(ROWS+[row]), 'unsafe_or_partial', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsafe_partial.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "auditor-selftest-v2/optimized-unsupported_kind.exit", + "bytes": 2, + "sha256": "4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865", + "utf8": "1\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsupported_kind.process.json", + "bytes": 400, + "sha256": "b9cb6bddfb2fc9bd949edc792d8e98c5faf718620a7e1e54ff4a961daddd0038", + "utf8": "{\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_compiled_inventory.CompiledInventory.test_owned_opaque_and_quot_never_self_admit\"\n ],\n \"cwd\": \"/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized\",\n \"exit\": 1,\n \"timed_out\": false,\n \"cleanup_signals\": []\n}\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsupported_kind.stderr", + "bytes": 1024, + "sha256": "e2f614e27df6d1b6a37b3ba92bbaa6ede202ecdc99369697205a53c936072139", + "utf8": "test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory) ... FAIL\n\n======================================================================\nFAIL: test_owned_opaque_and_quot_never_self_admit (test_compiled_inventory.CompiledInventory)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 204, in test_owned_opaque_and_quot_never_self_admit\n self.reject(transcript(ROWS+[row]), 'unsupported_owned_kind', BOUND+[list(row)])\n File \"/private/var/folders/r5/p3c78wf50fv5j8x569vpykj80000gn/T/cap-auditor-mutants-6gruwdhn/optimized/test_compiled_inventory.py\", line 55, in reject\n self.api.audit_inventory(text, VISIBLE if visible is None else visible,\nAssertionError: ValueError not raised\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + { + "path": "auditor-selftest-v2/optimized-unsupported_kind.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "root-targeted-review/REVIEW.json", + "bytes": 8370, + "sha256": "823c166df16e7b08a839d131b3491ce5286261718252b75d557990f9f25ff26c", + "utf8": "{\n \"schema\": \"cap.root-v2-target-review.v1\",\n \"source\": {\n \"actual_final_package_gate\": \"NOT_RUN: preceding V1 interrupted for explicit fixture source correction; final hosted qualification pending\",\n \"base_commit\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"base_repository\": \"d6g8k5htny-coder/Math-\",\n \"changes_since_v1\": [\n {\n \"new_sha256\": \"83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb\",\n \"old_sha256\": \"46afae6cfca5c26e9aedce56e26ecaee2fb1b85b5013320740781de1a2e3285b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\"\n },\n {\n \"new_sha256\": \"6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217\",\n \"old_sha256\": \"d982201eba6c12816dd53f05d3c51da9f42bb31c66e0f402040305577ccb6b37\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\"\n }\n ],\n \"files\": [\n {\n \"bytes\": 20,\n \"git_blob\": \"ae73679948e8ab42b43d663e78f13a0c6640fb41\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/.gitignore\",\n \"sha256\": \"b34af236d1df9e39ed4f98fca51702530ce76bdee4e1a69512f6caed933c3374\"\n },\n {\n \"bytes\": 57035,\n \"git_blob\": \"ef05eb264ea219771fa37d7ecd10985d55846c48\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/ALIGNMENT.md\",\n \"sha256\": \"91b086c04d083d2220821c8b6900e2bd070ad11f4be03bf2255bdbd83d677f21\"\n },\n {\n \"bytes\": 7853,\n \"git_blob\": \"0aa3dd37a7d091e179259229610ea8bd779576be\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CBZ_ADMISSION.md\",\n \"sha256\": \"11b590a016be368977578eba86d09b02be598a5675dec15522ca84245a6f70f2\"\n },\n {\n \"bytes\": 326607,\n \"git_blob\": \"01744e2cf571049d7d1557b9ed54646881d341cf\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/CapFirstExit.lean\",\n \"sha256\": \"040aa91fcbdf25ccdaced1c828dd779318217a7c41ac928f87e8d17a8d3c3ef0\"\n },\n {\n \"bytes\": 46533,\n \"git_blob\": \"ca35fdf19575c478599a7158a9604072e6d72918\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/MANIFEST.json\",\n \"sha256\": \"83e8bf5da7a0e49eb81f70096d32e94e75f34bed18564592a020b03bda7b46fb\"\n },\n {\n \"bytes\": 32478,\n \"git_blob\": \"d4adc709cbed1e5eccc7ef2f5aca57c61a21237e\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/README.md\",\n \"sha256\": \"049d7f75713bedb3a499eb16d2a4bb410e243f2e70eeb55ea1cfe4f38f13ff57\"\n },\n {\n \"bytes\": 15043,\n \"git_blob\": \"02b74f2aa579e9d672bf65b3c74d36df10d4183b\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/compiled_inventory.py\",\n \"sha256\": \"e1c0eda989d43cb7c963ed2f2e2db1938ee073ce1f47a9057cf7f810352c384b\"\n },\n {\n \"bytes\": 28665,\n \"git_blob\": \"521a70902f7d489b2903457076d96be76124b6d9\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/gate.py\",\n \"sha256\": \"16f8ee1394dd0bcd3c74864d48bf0de17d9318efb94b846289707922de04710e\"\n },\n {\n \"bytes\": 3547,\n \"git_blob\": \"292d7c1169a584ff7a6e995ec85e925ed04b6439\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lake-manifest.json\",\n \"sha256\": \"04549ed79e36b417686b94d91994aad4dad7bb78d896bd2e74099ff95265935b\"\n },\n {\n \"bytes\": 252,\n \"git_blob\": \"8b02204e207b56b10df4baa1109637061ea41752\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lakefile.toml\",\n \"sha256\": \"3fa8afe35db80e433b9ff59fab399df0b44ade73aeda1452b884a24ed1b01a52\"\n },\n {\n \"bytes\": 25,\n \"git_blob\": \"ba8ebf2dbaf6a668cd2a0e086186d6d569b69ff5\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean-toolchain\",\n \"sha256\": \"d5edba4e4b8faad9c1baeadb265716d20d03be4d1a2647dc5e35b0c0325bea7b\"\n },\n {\n \"bytes\": 3607,\n \"git_blob\": \"8327bcd36c6662cb2b5d90f1af18036818a7ffec\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/lean_opaque_control.py\",\n \"sha256\": \"41dbbf7fcd54cd34d740001c7f24b5a2550a6e83b83a9375e90bbf7aa61ec0ba\"\n },\n {\n \"bytes\": 7658,\n \"git_blob\": \"d59653bed36b85e155a353dc2decda3331a5a751\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/run_cbz_mutations.py\",\n \"sha256\": \"65a3d2a3a1853809db3cca522176906da0d2644ae99589a31ee3280528ccf1ed\"\n },\n {\n \"bytes\": 12680,\n \"git_blob\": \"f390708b96c0a67d7303f411691e954573af7aaa\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_compiled_inventory.py\",\n \"sha256\": \"c6889ec62dae9bd256269cc688422b1da5c3995674ad869d0225dc08f1f33810\"\n },\n {\n \"bytes\": 22903,\n \"git_blob\": \"65ff6cf590ddeb25a06706e95094ab4f64fa4378\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_gate.py\",\n \"sha256\": \"1e0a426ac65a262835ae99009429e3dfab9e538f76cd9c7c5037c68bfa2455f9\"\n },\n {\n \"bytes\": 3399,\n \"git_blob\": \"db623e30f2773050a2f0fd146c8844c2f3177112\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_mutation_accounting.py\",\n \"sha256\": \"1d328de984012406aabf5266382d1e7a69d18f7d61d501fc158f81af768813ef\"\n },\n {\n \"bytes\": 7430,\n \"git_blob\": \"899566538c7ecd1cce76201e01a57bef837a0c03\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_process_retention.py\",\n \"sha256\": \"6df53c86276992ea5919cb3bea69fff6525aae7aa78ea0c1c23609a7b2240217\"\n },\n {\n \"bytes\": 2270,\n \"git_blob\": \"1a68602705304143aa585db1e8edcf9f884b9749\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_runtime_boundary.py\",\n \"sha256\": \"097e837943f268b485373efcdb0d72f847aed2f2ba3e8721c3b22afc15d96aea\"\n },\n {\n \"bytes\": 2852,\n \"git_blob\": \"453de756513cae5b8abad08548108c415ea4a132\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_source_admission.py\",\n \"sha256\": \"514513613f4cb3a27bb389d539ddbd2f1f6e81209d2f9464aa054c0dfab691b7\"\n },\n {\n \"bytes\": 2035,\n \"git_blob\": \"98443d110b81b49ac798b4e7b982b2e6de1968b3\",\n \"path\": \"frontiers/cap_first_exit_lean_20261002/test_timeout_exit_zero.py\",\n \"sha256\": \"b2d12ef9da9fa4c4cc997a3b91846d193ad4be79ff42181a34f2bd9bcc9cac0f\"\n }\n ],\n \"original38_names_preserved\": true,\n \"original_proof_preserved\": true,\n \"patch_bytes\": 169301,\n \"patch_sha256\": \"337534bff1600fa8ae73832ed5897ab0a043cf37d3165b3ef4d3882394953a8e\",\n \"qualification\": {\n \"auditor_mutation_actual_exit\": 0,\n \"final_actual_package_admission\": \"PENDING_HOSTED_EXECUTION; no final PASS\",\n \"named_auditor_mutations_killed\": 24,\n \"normal_tests\": 95,\n \"optimized_tests\": 95,\n \"per_mode\": 12,\n \"python_runtime\": \"CPython3.9.6\",\n \"relative_cli_output\": \".lake/auditor-selftest-v2\",\n \"test_actual_exits\": [\n 0,\n 0\n ]\n },\n \"schema\": \"cap.frozen-source.v2\"\n },\n \"started_utc\": \"2026-10-30T00:45:17.674690+00:00\",\n \"runs\": [\n {\n \"mode\": \"normal\",\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_process_retention.ProcessRetention.test_opaque_control_timeout_uses_retention_and_writes_failure_receipt\",\n \"test_process_retention.ProcessRetention.test_delayed_version_is_not_mistaken_for_compile_timeout\"\n ],\n \"exit\": 0,\n \"timed_out\": false,\n \"stderr_sha256\": \"2140406c5311b8ddb050fb67307d979d4b7edb2c6953ffb3f51b0541fc3b9a5c\"\n },\n {\n \"mode\": \"optimized\",\n \"command\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_process_retention.ProcessRetention.test_opaque_control_timeout_uses_retention_and_writes_failure_receipt\",\n \"test_process_retention.ProcessRetention.test_delayed_version_is_not_mistaken_for_compile_timeout\"\n ],\n \"exit\": 0,\n \"timed_out\": false,\n \"stderr_sha256\": \"8183fd773830159e2c0b5a3e123472d8f268a00acc4b509a8f858a003192dee1\"\n }\n ],\n \"scope\": \"Targeted recheck of changed fixture and deterministic delayed version; unchanged93 tests use applicable primary95-per-mode execution, not a fabricated Root rerun.\",\n \"completed_utc\": \"2026-10-30T00:45:27.761682+00:00\",\n \"passed\": true\n}\n" + }, + { + "path": "root-targeted-review/normal.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "root-targeted-review/normal.stderr", + "bytes": 323, + "sha256": "2140406c5311b8ddb050fb67307d979d4b7edb2c6953ffb3f51b0541fc3b9a5c", + "utf8": "test_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_delayed_version_is_not_mistaken_for_compile_timeout (test_process_retention.ProcessRetention) ... ok\n\n----------------------------------------------------------------------\nRan 2 tests in 4.968s\n\nOK\n" + }, + { + "path": "root-targeted-review/optimized.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "root-targeted-review/optimized.stderr", + "bytes": 323, + "sha256": "8183fd773830159e2c0b5a3e123472d8f268a00acc4b509a8f858a003192dee1", + "utf8": "test_opaque_control_timeout_uses_retention_and_writes_failure_receipt (test_process_retention.ProcessRetention) ... ok\ntest_delayed_version_is_not_mistaken_for_compile_timeout (test_process_retention.ProcessRetention) ... ok\n\n----------------------------------------------------------------------\nRan 2 tests in 4.939s\n\nOK\n" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-06.json b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-06.json new file mode 100644 index 000000000..f4e1fb8c1 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/v2-qualification-06.json @@ -0,0 +1,133 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "v2-current-qualification", + "records": [ + { + "path": "interrupted-v1-gate/Axioms.lean", + "bytes": 6911, + "sha256": "da827251d635cf53fcae06b05ed6caecf619814f63193882f7fcd26bd98294d4", + "utf8": "import CapFirstExit\n#print axioms CapFirstExit.path_meets_frontier\n#print axioms CapFirstExit.preconnected_subset_of_frontier_disjoint\n#print axioms CapFirstExit.CapHyp\n#print axioms CapFirstExit.CapHyp.s_le_f_M\n#print axioms CapFirstExit.CapHyp.barrier\n#print axioms CapFirstExit.connectionLevels\n#print axioms CapFirstExit.CapHyp.maximin_isGreatest\n#print axioms CapFirstExit.CapHyp.maximin_eq\n#print axioms CapFirstExit.CapHyp.component_separated\n#print axioms CapFirstExit.component_joined\n#print axioms CapFirstExit.CapHyp.elder_merge_iff_closed\n#print axioms CapFirstExit.CapHyp.elder_merge_iff_open\n#print axioms CapFirstExit.CapHyp.joinedLevels\n#print axioms CapFirstExit.CapHyp.elder_death_level\n#print axioms CapFirstExit.CapHyp.path_through_saddle\n#print axioms CapFirstExit.CapHyp.saddle_cut\n#print axioms CapFirstExit.CapHyp.congr\n#print axioms CapFirstExit.isClosed_connectedComponentIn\n#print axioms CapFirstExit.CapHyp.older_peak\n#print axioms CapFirstExit.CapHyp.elder_alive\n#print axioms CapFirstExit.CapHyp.olderPeakLevels\n#print axioms CapFirstExit.CapHyp.elder_death_level_peak\n#print axioms CapFirstExit.frontier_image_subset\n#print axioms CapFirstExit.CapHyp.map\n#print axioms CapFirstExit.CapHyp.map_saddle\n#print axioms CapFirstExit.frontier_cylinder\n#print axioms CapFirstExit.isCompact_cylinder\n#print axioms CapFirstExit.torusCover\n#print axioms CapFirstExit.torusCover_continuous\n#print axioms CapFirstExit.torusCover_isOpenMap\n#print axioms CapFirstExit.CapHyp.toTorus\n#print axioms CapFirstExit.convex_zeros_between\n#print axioms CapFirstExit.convex_zeros_right\n#print axioms CapFirstExit.convex_zeros_left\n#print axioms CapFirstExit.ridge_profile\n#print axioms CapFirstExit.ridge_capHyp\n#print axioms CapFirstExit.ridge_saddle_strict\n#print axioms CapFirstExit.strongConcave_le_of_hasFDerivAt\n#print axioms CapFirstExit.slice_le\n#print axioms CapFirstExit.slice_ridge_bound\n#print axioms CapFirstExit.slice_curved\n#print axioms CapFirstExit.slice_hasFDerivAt\n#print axioms CapFirstExit.ridge_hasDerivAt\n#print axioms CapFirstExit.ridge_capHyp_of_slices\n#print axioms CapFirstExit.ridge_inputs_of_joint\n#print axioms CapFirstExit.sp_curved_side_constants\n#print axioms CapFirstExit.convexOn_add_node\n#print axioms CapFirstExit.two_node_bound\n#print axioms CapFirstExit.slice_gradient_bound\n#print axioms CapFirstExit.ridge_capHyp_sp\n#print axioms CapFirstExit.hermite_gap_le\n#print axioms CapFirstExit.hermite_m_ge_two\n#print axioms CapFirstExit.ridge_capHyp_normalized\n#print axioms CapFirstExit.strongConcaveOn_of_hessian\n#print axioms CapFirstExit.transverse_hessian_le\n#print axioms CapFirstExit.hessian_increment\n#print axioms CapFirstExit.slices_strongConcave\n#print axioms CapFirstExit.ridge_capHyp_H1\n#print axioms CapFirstExit.slice_critical_unique\n#print axioms CapFirstExit.slice_critical_exists\n#print axioms CapFirstExit.isInvertible_of_negDef\n#print axioms CapFirstExit.ridge_hasStrictFDerivAt\n#print axioms CapFirstExit.ridge_differentiable\n#print axioms CapFirstExit.ridge_exists\n#print axioms CapFirstExit.hessian_increment_D\n#print axioms CapFirstExit.transverse_hessian_le_D\n#print axioms CapFirstExit.slices_strongConcave_D\n#print axioms CapFirstExit.ridge_capHyp_source\n#print axioms CapFirstExit.convex_deriv_sign\n#print axioms CapFirstExit.two_node_deriv_bound\n#print axioms CapFirstExit.slice_gradient_deriv_bound\n#print axioms CapFirstExit.schur_max\n#print axioms CapFirstExit.trilinear_lower\n#print axioms CapFirstExit.l12_constants\n#print axioms CapFirstExit.transverse_hessian_eq\n#print axioms CapFirstExit.ridge_second_identity\n#print axioms CapFirstExit.ridge_hconv\n#print axioms CapFirstExit.dx_grad_increment\n#print axioms CapFirstExit.l9_arith\n#print axioms CapFirstExit.l12_lower\n#print axioms CapFirstExit.ridge_source_facts\n#print axioms CapFirstExit.ridge_capHyp_C3\n#print axioms CapFirstExit.hermite_gap_le_concave\n#print axioms CapFirstExit.third_deriv_exists_two\n#print axioms CapFirstExit.fxxx_lower\n#print axioms CapFirstExit.ridge_capHyp_C4\n#print axioms CapFirstExit.hessian_x_bound\n#print axioms CapFirstExit.hessian_r_bound\n#print axioms CapFirstExit.axis_convexConcave\n#print axioms CapFirstExit.block_nonneg\n#print axioms CapFirstExit.block_bound_collar\n#print axioms CapFirstExit.ridge_capHyp_C5\n#print axioms CapFirstExit.ridge_capHyp_D\n#print axioms CapFirstExit.block_of_norm\n#print axioms CapFirstExit.collar_subset_open\n#print axioms CapFirstExit.ridge_capHyp_E\n#print axioms CapFirstExit.toyF\n#print axioms CapFirstExit.toyRidge\n#print axioms CapFirstExit.toy_ridge_ge\n#print axioms CapFirstExit.toy_frontier\n#print axioms CapFirstExit.toy_capHyp\n#print axioms CapFirstExit.toy_saddle_strict\n#print axioms CapFirstExit.toy_saddle_cut\n#print axioms CapFirstExit.toy_death_level\n#print axioms CapFirstExit.toy_f_M\n#print axioms CapFirstExit.toy_f_S\n#print axioms CapFirstExit.toy_needs_C2\n#print axioms CapFirstExit.toy_needs_C1\n#print axioms CapFirstExit.toy_needs_C3\n#print axioms CapFirstExit.ridgeToyF\n#print axioms CapFirstExit.ridgeToy_capHyp\n#print axioms CapFirstExit.ridgeToy_saddle_strict\n#print axioms CapFirstExit.ridgeToy_joint\n#print axioms CapFirstExit.ridgeToy_slices\n#print axioms CapFirstExit.spToyF\n#print axioms CapFirstExit.spToy_capHyp\n#print axioms CapFirstExit.spToy_normalized\n#print axioms CapFirstExit.h1ToyF\n#print axioms CapFirstExit.h1Toy_capHyp\n#print axioms CapFirstExit.h1Toy_ridge_differentiable\n#print axioms CapFirstExit.h1Toy_source\n#print axioms CapFirstExit.h1Toy_C3\n#print axioms CapFirstExit.h1Toy_C4\n#print axioms CapFirstExit.h1Toy_D\n#print axioms CapFirstExit.h1Toy_E\n#print axioms CapFirstExit.quarticToyF\n#print axioms CapFirstExit.quarticToy_E\n#print axioms CapFirstExit.CapHyp.of_const_mul\n#print axioms CapFirstExit.hasFDerivAt_zero_const_mul_iff\n#print axioms CapFirstExit.iteratedFDeriv_const_mul_of_isOpen\n#print axioms CapFirstExit.ridge_capHyp_K\n#print axioms CapFirstExit.ridge_capHyp_norm_K\n#print axioms CapFirstExit.iteratedFDeriv_three_swap₁₂\n#print axioms CapFirstExit.iteratedFDeriv_three_swap₂₃\n#print axioms CapFirstExit.block_of_partial\n#print axioms CapFirstExit.ridge_capHyp_blocks\n#print axioms CapFirstExit.mixedToyF\n#print axioms CapFirstExit.mixedToy_blocks\n#print axioms CapFirstExit.addCircle_locallyConnectedSpace\n#print axioms CapFirstExit.torus_locallyConnectedSpace\n#print axioms CapFirstExit.torus_capHyp_blocks\n#print axioms CapFirstExit.torus_elder_death_level_blocks\n#print axioms CapFirstExit.circleChart\n#print axioms CapFirstExit.circleChart_continuous\n#print axioms CapFirstExit.circleChart_coe\n#print axioms CapFirstExit.mixedToy_hasFDerivAt\n#print axioms CapFirstExit.mixedToy_contDiff\n#print axioms CapFirstExit.mixedToy_iteratedFDeriv_two\n#print axioms CapFirstExit.mixedToy_iteratedFDeriv_three\n#print axioms CapFirstExit.mixedToy_iteratedFDeriv_four\n#print axioms CapFirstExit.torusToyF\n#print axioms CapFirstExit.torusToy_elder\n" + }, + { + "path": "interrupted-v1-gate/axioms.exit", + "bytes": 4, + "sha256": "0e55cbbc9d11449b186092d82905aa6974858df7a0b7d706ae51c4716c9461ef", + "utf8": "-15\n" + }, + { + "path": "interrupted-v1-gate/axioms.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/axioms.process.json", + "bytes": 455, + "sha256": "59d59ba2d22c00fe18586afde9ded8e52f416fc58f67fc440566fbb92eb58c2d", + "utf8": "{\n \"command\": [\n \"lake\",\n \"env\",\n \"lean\",\n \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002/.lake/evidence/Axioms.lean\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"exit\": -15,\n \"timed_out\": false,\n \"cleanup_signals\": [],\n \"started_utc\": \"2026-10-30T00:40:56.376627+00:00\",\n \"ended_utc\": \"2026-10-30T00:42:15.687231+00:00\"\n}\n" + }, + { + "path": "interrupted-v1-gate/axioms.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/axioms.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/build.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "interrupted-v1-gate/build.log", + "bytes": 84, + "sha256": "b74ea935f25991854a92a5d1d955d43eeb133ff41ed745cf99ad5816bf15c3b2", + "utf8": "✔ [8924/8925] Built CapFirstExit (157s)\nBuild completed successfully (8925 jobs).\n" + }, + { + "path": "interrupted-v1-gate/build.process.json", + "bytes": 316, + "sha256": "581e6c3aa967c62beb2c6eab6bc993a4115ba1e1aa972172c7e883ca9fd229ba", + "utf8": "{\n \"command\": [\n \"lake\",\n \"build\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": [],\n \"started_utc\": \"2026-10-30T00:36:38.189812+00:00\",\n \"ended_utc\": \"2026-10-30T00:39:25.596219+00:00\"\n}\n" + }, + { + "path": "interrupted-v1-gate/build.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/build.stdout", + "bytes": 84, + "sha256": "b74ea935f25991854a92a5d1d955d43eeb133ff41ed745cf99ad5816bf15c3b2", + "utf8": "✔ [8924/8925] Built CapFirstExit (157s)\nBuild completed successfully (8925 jobs).\n" + }, + { + "path": "interrupted-v1-gate/leanchecker.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "interrupted-v1-gate/leanchecker.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/leanchecker.process.json", + "bytes": 353, + "sha256": "191d39e8bd223ec8a50526a76ceb06d75080e95775ba8cda7ec9f4a99e235d1c", + "utf8": "{\n \"command\": [\n \"lake\",\n \"env\",\n \"leanchecker\",\n \"CapFirstExit\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": [],\n \"started_utc\": \"2026-10-30T00:39:25.596842+00:00\",\n \"ended_utc\": \"2026-10-30T00:40:56.376145+00:00\"\n}\n" + }, + { + "path": "interrupted-v1-gate/leanchecker.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/leanchecker.stdout", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/version.exit", + "bytes": 2, + "sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa", + "utf8": "0\n" + }, + { + "path": "interrupted-v1-gate/version.log", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + }, + { + "path": "interrupted-v1-gate/version.process.json", + "bytes": 343, + "sha256": "f5869c8dffdf1bbab926d747e3ca67c4b87c97d660f7436b22be42a4612d3bed", + "utf8": "{\n \"command\": [\n \"lake\",\n \"env\",\n \"lean\",\n \"--version\"\n ],\n \"cwd\": \"/private/tmp/cbz-cap-candidate-20261030T000800Z/Math-/frontiers/cap_first_exit_lean_20261002\",\n \"exit\": 0,\n \"timed_out\": false,\n \"cleanup_signals\": [],\n \"started_utc\": \"2026-10-30T00:36:33.152741+00:00\",\n \"ended_utc\": \"2026-10-30T00:36:37.631498+00:00\"\n}\n" + }, + { + "path": "interrupted-v1-gate/version.stderr", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "utf8": "" + }, + { + "path": "interrupted-v1-gate/version.stdout", + "bytes": 106, + "sha256": "20f42f897511ec814f7616bd9a193ae7504aa2f52fb05299eb752936eb77ca6e", + "utf8": "Lean (version 4.34.1, arm64-apple-darwin24.6.0, commit 5045d0056413266e57c625dcd7c365b10e377c52, Release)\n" + } + ], + "scope": "Current20-fileV2 source:95 Python tests per mode,24 named auditor mutations, Root changed-fixture checks. Also preserves explicitly interruptedV1 gate; no final package or hosted PASS." +} diff --git a/reviews/cap_compiled_admission_cbz_20261030/workflow-review.json b/reviews/cap_compiled_admission_cbz_20261030/workflow-review.json new file mode 100644 index 000000000..3ce31b7e0 --- /dev/null +++ b/reviews/cap_compiled_admission_cbz_20261030/workflow-review.json @@ -0,0 +1,61 @@ +{ + "schema": "cap.review-evidence-bundle.v1", + "group": "workflow-review", + "records": [ + { + "path": "DECISION.md", + "bytes": 2270, + "sha256": "05ace1e38a5fad030247dfb476fa041b1b7f641d3c88a1e577bcfe8a4b283ed6", + "utf8": "# Private portable Cap workflow patch\n\nThis contribution changes only `.github/workflows/cap-first-exit-lean.yml`.\nThe exact workflow at actual Cap source base\n`9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966` is identical to the observed\ncurrent Math default `19a55750451b8016b50d1d20be6a18c021807ecb`.\n`SOURCE_BINDINGS.json` preserves the source and proposed-content identities.\n\nThe selected implementation has three changes: increase the bounded job\ntimeout from 30 to 60 minutes; insert one actual auditor-selftest step after\npinned Lean/cache installation and immediately before the existing full\ngate; append the new receipt directory to the existing always-uploaded\nartifact paths. All original actions, security pins, trigger paths,\npermissions, source/unit checks, full gate, clean-tree check and artifact\nsettings remain exactly preserved.\n\nThe new step runs in `frontiers/cap_first_exit_lean_20261002`, resolves\n`LEAN_EXECUTABLE=\"$(lake env which lean)\"`, checks that the executable exists,\nrefuses to reuse `.lake/auditor-selftest`, then invokes exactly once:\n\n```sh\npython -B -S run_cbz_mutations.py --lean \"$LEAN_EXECUTABLE\" --output .lake/auditor-selftest\n```\n\nThe implementation owner is expected to provide that CLI and both-mode\ncoverage inside the runner. This private workflow patch adds no threshold\noverride: the runner's declared threshold may still change. Root should\nreconcile the final runner CLI/source with this patch before composition.\nThe 60-minute timeout accommodates fresh compilation and four actual\ncompiled mutants while retaining a finite CI bound; it is not a measured\nruntime promise.\n\n`static_contract.py` is a narrow exact-source workflow control, not a\ngeneral YAML parser or a mathematical auditor. It enforces the placement,\nCLI, output custody, timeout and preservation requirements. Its tests\nrefuse missing/reordered selftests and missing artifact paths for their\nspecific reasons, plus other meaningful workflow regressions.\n\nThis directory contains only private review files. No Root candidate,\nrepository checkout/index/ref, commit, GitHub state or CI run was changed.\nStatic contract, syntax and patch-application checks do not establish\nactual Lean/kernel execution, compiled mutation outcomes or CI runtime\nverification.\n" + }, + { + "path": "STATIC_VERIFICATION.json", + "bytes": 8005, + "sha256": "aa0f721497028ba648a9e1f0960625501862c221577ccd40102eb8a22e585955", + "utf8": "{\n \"schema\": \"cbz.cap.workflow.static-verification.v1\",\n \"finished_at_utc\": \"2026-10-30T00:27:02.433901+00:00\",\n \"python\": \"3.9.6 (default, Dec 2 2025, 07:27:58) \\n[Clang 17.0.0 (clang-1700.6.3.2)]\",\n \"records\": [\n {\n \"name\": \"tests-normal\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_static_contract.py\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"371d8f0ad724a486dc7dbbca6d9f18ddbd61d53c0e23e88f5e5533e5ca28106f\"\n },\n {\n \"name\": \"contract-positive-normal\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"static_contract.py\",\n \"--original\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\",\n \"--candidate\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/after/.github/workflows/cap-first-exit-lean.yml\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"0af5c1c6dafa258529773dbafe8979a620524ab1dde31f56f935ff5f61b84fea\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"contract-original-red-normal\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"static_contract.py\",\n \"--original\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\",\n \"--candidate\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 2,\n \"expected_exit\": 2,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"42dc4839ff3eaf2b9d93e63743a78cd77e9a50328e0a5092d6c639262bd5887e\"\n },\n {\n \"name\": \"tests-optimized\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"-m\",\n \"unittest\",\n \"-v\",\n \"test_static_contract.py\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"371d8f0ad724a486dc7dbbca6d9f18ddbd61d53c0e23e88f5e5533e5ca28106f\"\n },\n {\n \"name\": \"contract-positive-optimized\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"static_contract.py\",\n \"--original\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\",\n \"--candidate\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/after/.github/workflows/cap-first-exit-lean.yml\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"0af5c1c6dafa258529773dbafe8979a620524ab1dde31f56f935ff5f61b84fea\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"contract-original-red-optimized\",\n \"argv\": [\n \"/Library/Developer/CommandLineTools/usr/bin/python3\",\n \"-B\",\n \"-S\",\n \"-O\",\n \"static_contract.py\",\n \"--original\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\",\n \"--candidate\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/before/.github/workflows/cap-first-exit-lean.yml\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 2,\n \"expected_exit\": 2,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"42dc4839ff3eaf2b9d93e63743a78cd77e9a50328e0a5092d6c639262bd5887e\"\n },\n {\n \"name\": \"patch-check\",\n \"argv\": [\n \"git\",\n \"apply\",\n \"--no-index\",\n \"--check\",\n \"--whitespace=error\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/cap-first-exit-lean.patch\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq/before\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"patch-apply\",\n \"argv\": [\n \"git\",\n \"apply\",\n \"--no-index\",\n \"--whitespace=error\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/cap-first-exit-lean.patch\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq/apply-check\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"yaml-parse\",\n \"argv\": [\n \"/usr/bin/ruby\",\n \"-rpsych\",\n \"-e\",\n \"x=Psych.parse_file(ARGV[0]); raise \\\"missing YAML document\\\" unless x; puts \\\"YAML_PARSE_OK\\\"\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/after/.github/workflows/cap-first-exit-lean.yml\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"d337cbf288a7ee1c21d4e2f2c1d8d367aa83f9f6886f931752a07c19477fdfa2\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"shell-syntax-0\",\n \"argv\": [\n \"bash\",\n \"-n\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/shell-0.sh\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"shell-syntax-1\",\n \"argv\": [\n \"bash\",\n \"-n\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/shell-1.sh\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"shell-syntax-2\",\n \"argv\": [\n \"bash\",\n \"-n\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/shell-2.sh\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n },\n {\n \"name\": \"shell-syntax-3\",\n \"argv\": [\n \"bash\",\n \"-n\",\n \"/tmp/cbz-cap-workflow-review-RIDiWq/shell-3.sh\"\n ],\n \"cwd\": \"/tmp/cbz-cap-workflow-review-RIDiWq\",\n \"exit_code\": 0,\n \"expected_exit\": 0,\n \"stdout_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\n \"stderr_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"\n }\n ],\n \"unittest_methods_per_mode\": 17,\n \"source_only\": true,\n \"workflow_runtime_executed\": false,\n \"lean_or_kernel_executed\": false,\n \"actual_auditor_mutants_executed\": false,\n \"portable_patch_apply_readback_equal\": true,\n \"checked_run_shells\": 4,\n \"scope\": \"Private portable single-workflow patch; static preservation/order/CLI/artifact controls, YAML parse, shell syntax and patch application only.\"\n}\n" + }, + { + "path": "SOURCE_BINDINGS.json", + "bytes": 686, + "sha256": "696b57510898bc7d168f6e3ddfdf3f571975cc1fb5e83fdff076f8c4f10cffa1", + "utf8": "{\n \"schema\": \"cbz.cap.workflow.source.v1\",\n \"path\": \".github/workflows/cap-first-exit-lean.yml\",\n \"source_base\": \"9f8dbb4d18b9f3ebd9ffac6b0caa42df9f343966\",\n \"observed_current\": \"19a55750451b8016b50d1d20be6a18c021807ecb\",\n \"source_base_and_observed_current_identical\": true,\n \"original_bytes\": 2500,\n \"original_sha256\": \"8eaad970e571f55b1fd072f79af2f3ad6a6a7e60df80b06429bff005ed90a01f\",\n \"original_git_blob\": \"8b0b37561af8071f081793fc329b1297e0e98976\",\n \"candidate_bytes\": 3044,\n \"candidate_sha256\": \"38872df423409132af9a2230350daf026ac34f83784711cb75d7e91b913442b5\",\n \"scope\": \"Private workflow patch only; no runtime/kernel/mutant execution or project/source mutation.\"\n}\n" + }, + { + "path": "static_contract.py", + "bytes": 4099, + "sha256": "e3086a844bc5527b3f8f5b96d3977fa598e4580c9ce06cccd1d69560b2994395", + "utf8": "#!/usr/bin/env python3\n\"\"\"Static contract for this exact portable workflow change; no runtime verdict.\"\"\"\n\nimport argparse\nimport hashlib\nfrom pathlib import Path\nimport re\n\n\nBASE_SHA256 = \"8eaad970e571f55b1fd072f79af2f3ad6a6a7e60df80b06429bff005ed90a01f\"\nINSTALL_NAME = \"Install pinned Lean and retrieve the Mathlib cache\"\nFULL_NAME = \"Fresh build, leanchecker replay, axiom audit, negative controls\"\nSELFTEST_NAME = \"Auditor self-test with actual pinned Lean (both Python modes)\"\nSELFTEST_STEP = ''' - name: Auditor self-test with actual pinned Lean (both Python modes)\n working-directory: frontiers/cap_first_exit_lean_20261002\n run: |\n set -euo pipefail\n LEAN_EXECUTABLE=\"$(lake env which lean)\"\n test -n \"$LEAN_EXECUTABLE\"\n test -x \"$LEAN_EXECUTABLE\"\n test ! -e .lake/auditor-selftest\n python -B -S run_cbz_mutations.py --lean \"$LEAN_EXECUTABLE\" --output .lake/auditor-selftest\n'''\nOLD_ARTIFACT = \" path: frontiers/cap_first_exit_lean_20261002/.lake/evidence/\\n\"\nNEW_ARTIFACT = ''' path: |\n frontiers/cap_first_exit_lean_20261002/.lake/evidence/\n frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/\n'''\n\n\nclass ContractError(ValueError):\n pass\n\n\ndef require(condition, code):\n if not condition:\n raise ContractError(code)\n\n\ndef step_blocks(text):\n \"\"\"Read the fixed indentation of the exact bound workflow, not arbitrary YAML.\"\"\"\n starts = list(re.finditer(r\"^ - (?:name|uses): (.+)$\", text, re.MULTILINE))\n return [(m.group(1), text[m.start():starts[i + 1].start() if i + 1 < len(starts) else len(text)])\n for i, m in enumerate(starts)]\n\n\ndef validate(original, candidate):\n require(hashlib.sha256(original.encode(\"utf-8\")).hexdigest() == BASE_SHA256,\n \"SOURCE_BASE_MISMATCH\")\n steps = step_blocks(candidate)\n indices = {name: [i for i, (n, _) in enumerate(steps) if n == name]\n for name in (INSTALL_NAME, SELFTEST_NAME, FULL_NAME)}\n require(len(indices[SELFTEST_NAME]) != 0, \"SELFTEST_MISSING\")\n require(len(indices[SELFTEST_NAME]) == 1, \"SELFTEST_DUPLICATE\")\n require(len(indices[INSTALL_NAME]) == 1, \"INSTALL_STEP_CHANGED\")\n require(len(indices[FULL_NAME]) == 1, \"FULL_GATE_CHANGED\")\n install, selftest, full = (indices[n][0] for n in (INSTALL_NAME, SELFTEST_NAME, FULL_NAME))\n require(selftest == install + 1 and full == selftest + 1, \"SELFTEST_ORDER\")\n upload = [block for name, block in steps if name == \"Preserve logs and receipt\"]\n require(len(upload) == 1, \"UPLOAD_CHANGED\")\n require(\" frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/\\n\" in upload[0],\n \"SELFTEST_ARTIFACT_MISSING\")\n require(\" frontiers/cap_first_exit_lean_20261002/.lake/evidence/\\n\" in upload[0],\n \"LEGACY_ARTIFACT_MISSING\")\n require(candidate.count(\" timeout-minutes: 60\\n\") == 1, \"BOUNDED_TIMEOUT_CHANGED\")\n require(steps[selftest][1] == SELFTEST_STEP, \"SELFTEST_BODY_CHANGED\")\n require(candidate.count(NEW_ARTIFACT) == 1, \"ARTIFACT_FORMAT_CHANGED\")\n restored = candidate.replace(SELFTEST_STEP, \"\", 1)\n restored = restored.replace(\" timeout-minutes: 60\\n\", \" timeout-minutes: 30\\n\", 1)\n restored = restored.replace(NEW_ARTIFACT, OLD_ARTIFACT, 1)\n require(restored == original, \"EXISTING_WORKFLOW_CHANGED\")\n return {\"status\": \"PASS_STATIC_WORKFLOW_CONTRACT\", \"runtime_verified\": False,\n \"selftest_invocations\": 1, \"timeout_minutes\": 60}\n\n\ndef main():\n parser = argparse.ArgumentParser(description=__doc__)\n parser.add_argument(\"--original\", type=Path, required=True)\n parser.add_argument(\"--candidate\", type=Path, required=True)\n args = parser.parse_args()\n try:\n result = validate(args.original.read_text(encoding=\"utf-8\"),\n args.candidate.read_text(encoding=\"utf-8\"))\n except (ContractError, OSError, UnicodeError) as exc:\n parser.exit(2, \"REFUSED: \" + str(exc) + \"\\n\")\n print(result)\n\n\nif __name__ == \"__main__\":\n main()\n" + }, + { + "path": "test_static_contract.py", + "bytes": 4120, + "sha256": "deba49756423bc87a6b0546997bd7499d189baf4289274e9b4786397206ef96f", + "utf8": "import unittest\nfrom pathlib import Path\n\nfrom static_contract import ContractError, SELFTEST_STEP, validate\n\n\nROOT = Path(__file__).resolve().parent\nORIGINAL = (ROOT / \"before/.github/workflows/cap-first-exit-lean.yml\").read_text()\nCANDIDATE = (ROOT / \"after/.github/workflows/cap-first-exit-lean.yml\").read_text()\n\n\nclass WorkflowContract(unittest.TestCase):\n def refused(self, changed, reason):\n with self.assertRaisesRegex(ContractError, \"^\" + reason + \"$\"):\n validate(ORIGINAL, changed)\n\n def test_candidate_satisfies_static_contract(self):\n result = validate(ORIGINAL, CANDIDATE)\n self.assertEqual(result[\"status\"], \"PASS_STATIC_WORKFLOW_CONTRACT\")\n self.assertFalse(result[\"runtime_verified\"])\n\n def test_original_missing_selftest_is_refused(self):\n self.refused(ORIGINAL, \"SELFTEST_MISSING\")\n\n def test_deleted_selftest_is_refused(self):\n self.refused(CANDIDATE.replace(SELFTEST_STEP, \"\", 1), \"SELFTEST_MISSING\")\n\n def test_selftest_before_install_is_refused(self):\n moved = CANDIDATE.replace(SELFTEST_STEP, \"\", 1).replace(\n \" - name: Install pinned Lean and retrieve the Mathlib cache\\n\",\n SELFTEST_STEP + \" - name: Install pinned Lean and retrieve the Mathlib cache\\n\", 1)\n self.refused(moved, \"SELFTEST_ORDER\")\n\n def test_selftest_after_full_gate_is_refused(self):\n moved = CANDIDATE.replace(SELFTEST_STEP, \"\", 1).replace(\n \" - name: Tracked tree unchanged\\n\", SELFTEST_STEP + \" - name: Tracked tree unchanged\\n\", 1)\n self.refused(moved, \"SELFTEST_ORDER\")\n\n def test_missing_selftest_artifact_is_refused(self):\n self.refused(CANDIDATE.replace(\n \" frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/\\n\", \"\", 1),\n \"SELFTEST_ARTIFACT_MISSING\")\n\n def test_missing_old_evidence_is_refused(self):\n self.refused(CANDIDATE.replace(\n \" frontiers/cap_first_exit_lean_20261002/.lake/evidence/\\n\", \"\", 1),\n \"LEGACY_ARTIFACT_MISSING\")\n\n def test_short_job_timeout_is_refused(self):\n self.refused(CANDIDATE.replace(\"timeout-minutes: 60\", \"timeout-minutes: 30\", 1),\n \"BOUNDED_TIMEOUT_CHANGED\")\n\n def test_changed_action_pin_is_refused(self):\n self.refused(CANDIDATE.replace(\"3d3c42e5aac5ba805825da76410c181273ba90b1\", \"main\", 1),\n \"EXISTING_WORKFLOW_CHANGED\")\n\n def test_missing_full_execute_flag_is_refused(self):\n self.refused(CANDIDATE.replace(\"/gate.py --execute\", \"/gate.py\", 1),\n \"EXISTING_WORKFLOW_CHANGED\")\n\n def test_changed_unit_test_mode_is_refused(self):\n self.refused(CANDIDATE.replace(\"python -B -O -S -m unittest\", \"python -B -S -m unittest\", 1),\n \"EXISTING_WORKFLOW_CHANGED\")\n\n def test_unresolved_lean_executable_is_refused(self):\n self.refused(CANDIDATE.replace(\"$(lake env which lean)\", \"$(which lean)\", 1),\n \"SELFTEST_BODY_CHANGED\")\n\n def test_duplicate_runner_call_is_refused(self):\n line = ' python -B -S run_cbz_mutations.py --lean \"$LEAN_EXECUTABLE\" --output .lake/auditor-selftest\\n'\n self.refused(CANDIDATE.replace(line, line + line, 1), \"SELFTEST_BODY_CHANGED\")\n\n def test_reused_output_guard_is_refused(self):\n self.refused(CANDIDATE.replace(\" test ! -e .lake/auditor-selftest\\n\", \"\", 1),\n \"SELFTEST_BODY_CHANGED\")\n\n def test_duplicate_selftest_step_is_refused(self):\n self.refused(CANDIDATE.replace(SELFTEST_STEP, SELFTEST_STEP + SELFTEST_STEP, 1),\n \"SELFTEST_DUPLICATE\")\n\n def test_upload_always_condition_is_preserved(self):\n self.refused(CANDIDATE.replace(\" if: always()\", \" if: success()\", 1),\n \"EXISTING_WORKFLOW_CHANGED\")\n\n def test_source_binding_drift_is_refused(self):\n with self.assertRaisesRegex(ContractError, \"^SOURCE_BASE_MISMATCH$\"):\n validate(ORIGINAL + \"\\n\", CANDIDATE)\n\n\nif __name__ == \"__main__\":\n unittest.main()\n" + }, + { + "path": "tests-normal.stderr", + "bytes": 1560, + "sha256": "371d8f0ad724a486dc7dbbca6d9f18ddbd61d53c0e23e88f5e5533e5ca28106f", + "utf8": "test_candidate_satisfies_static_contract (test_static_contract.WorkflowContract) ... ok\ntest_changed_action_pin_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_changed_unit_test_mode_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_deleted_selftest_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_duplicate_runner_call_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_duplicate_selftest_step_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_full_execute_flag_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_old_evidence_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_selftest_artifact_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_original_missing_selftest_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_reused_output_guard_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_selftest_after_full_gate_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_selftest_before_install_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_short_job_timeout_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_source_binding_drift_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_unresolved_lean_executable_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_upload_always_condition_is_preserved (test_static_contract.WorkflowContract) ... ok\n\n----------------------------------------------------------------------\nRan 17 tests in 0.001s\n\nOK\n" + }, + { + "path": "tests-optimized.stderr", + "bytes": 1560, + "sha256": "371d8f0ad724a486dc7dbbca6d9f18ddbd61d53c0e23e88f5e5533e5ca28106f", + "utf8": "test_candidate_satisfies_static_contract (test_static_contract.WorkflowContract) ... ok\ntest_changed_action_pin_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_changed_unit_test_mode_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_deleted_selftest_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_duplicate_runner_call_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_duplicate_selftest_step_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_full_execute_flag_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_old_evidence_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_missing_selftest_artifact_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_original_missing_selftest_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_reused_output_guard_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_selftest_after_full_gate_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_selftest_before_install_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_short_job_timeout_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_source_binding_drift_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_unresolved_lean_executable_is_refused (test_static_contract.WorkflowContract) ... ok\ntest_upload_always_condition_is_preserved (test_static_contract.WorkflowContract) ... ok\n\n----------------------------------------------------------------------\nRan 17 tests in 0.001s\n\nOK\n" + }, + { + "path": "before/.github/workflows/cap-first-exit-lean.yml", + "bytes": 2500, + "sha256": "8eaad970e571f55b1fd072f79af2f3ad6a6a7e60df80b06429bff005ed90a01f", + "utf8": "name: Cap first exit (Lean kernel evidence, no scientific promotion)\n\n'on':\n pull_request:\n paths:\n - 'frontiers/cap_first_exit_lean_20261002/**'\n - '.github/workflows/cap-first-exit-lean.yml'\n - 'reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md'\n - 'imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md'\n push:\n branches: [main]\n paths:\n - 'frontiers/cap_first_exit_lean_20261002/**'\n - '.github/workflows/cap-first-exit-lean.yml'\n - 'reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md'\n - 'imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md'\n workflow_dispatch:\n\npermissions:\n contents: read\n\njobs:\n kernel-evidence:\n runs-on: ubuntu-latest\n timeout-minutes: 30\n env:\n LEAN_NUM_THREADS: 2\n PYTHONDONTWRITEBYTECODE: '1'\n steps:\n - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1\n with:\n persist-credentials: false\n - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0\n with:\n python-version: '3.11.16'\n - name: Source gate and unit tests in both Python modes (no Lean)\n run: |\n set -euo pipefail\n P=frontiers/cap_first_exit_lean_20261002\n python -B -S -m unittest discover -s \"$P\" -p 'test_*.py' -v\n python -B -O -S -m unittest discover -s \"$P\" -p 'test_*.py' -v\n python -B -S \"$P/gate.py\"\n - name: Install pinned Lean and retrieve the Mathlib cache\n uses: leanprover/lean-action@24581d74d674803a25a81b10b059c5c0cdd344c6\n with:\n lake-package-directory: frontiers/cap_first_exit_lean_20261002\n auto-config: 'false'\n build: 'false'\n test: 'false'\n lint: 'false'\n use-mathlib-cache: 'true'\n use-github-cache: 'false'\n - name: Fresh build, leanchecker replay, axiom audit, negative controls\n run: python -B -S frontiers/cap_first_exit_lean_20261002/gate.py --execute\n - name: Tracked tree unchanged\n run: git diff --exit-code\n - name: Preserve logs and receipt\n if: always()\n uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9\n with:\n name: cap-first-exit-lean-${{ github.run_id }}-${{ github.run_attempt }}\n path: frontiers/cap_first_exit_lean_20261002/.lake/evidence/\n include-hidden-files: true\n if-no-files-found: error\n retention-days: 90\n" + }, + { + "path": "after/.github/workflows/cap-first-exit-lean.yml", + "bytes": 3044, + "sha256": "38872df423409132af9a2230350daf026ac34f83784711cb75d7e91b913442b5", + "utf8": "name: Cap first exit (Lean kernel evidence, no scientific promotion)\n\n'on':\n pull_request:\n paths:\n - 'frontiers/cap_first_exit_lean_20261002/**'\n - '.github/workflows/cap-first-exit-lean.yml'\n - 'reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md'\n - 'imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md'\n push:\n branches: [main]\n paths:\n - 'frontiers/cap_first_exit_lean_20261002/**'\n - '.github/workflows/cap-first-exit-lean.yml'\n - 'reviews/d1_cap_elder_partner_second_pass_claude_20260930/REVIEW.md'\n - 'imports/lifetime_parent_20260925/MARKED_CYLINDER_CAP_PROOF.md'\n workflow_dispatch:\n\npermissions:\n contents: read\n\njobs:\n kernel-evidence:\n runs-on: ubuntu-latest\n timeout-minutes: 60\n env:\n LEAN_NUM_THREADS: 2\n PYTHONDONTWRITEBYTECODE: '1'\n steps:\n - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1\n with:\n persist-credentials: false\n - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0\n with:\n python-version: '3.11.16'\n - name: Source gate and unit tests in both Python modes (no Lean)\n run: |\n set -euo pipefail\n P=frontiers/cap_first_exit_lean_20261002\n python -B -S -m unittest discover -s \"$P\" -p 'test_*.py' -v\n python -B -O -S -m unittest discover -s \"$P\" -p 'test_*.py' -v\n python -B -S \"$P/gate.py\"\n - name: Install pinned Lean and retrieve the Mathlib cache\n uses: leanprover/lean-action@24581d74d674803a25a81b10b059c5c0cdd344c6\n with:\n lake-package-directory: frontiers/cap_first_exit_lean_20261002\n auto-config: 'false'\n build: 'false'\n test: 'false'\n lint: 'false'\n use-mathlib-cache: 'true'\n use-github-cache: 'false'\n - name: Auditor self-test with actual pinned Lean (both Python modes)\n working-directory: frontiers/cap_first_exit_lean_20261002\n run: |\n set -euo pipefail\n LEAN_EXECUTABLE=\"$(lake env which lean)\"\n test -n \"$LEAN_EXECUTABLE\"\n test -x \"$LEAN_EXECUTABLE\"\n test ! -e .lake/auditor-selftest\n python -B -S run_cbz_mutations.py --lean \"$LEAN_EXECUTABLE\" --output .lake/auditor-selftest\n - name: Fresh build, leanchecker replay, axiom audit, negative controls\n run: python -B -S frontiers/cap_first_exit_lean_20261002/gate.py --execute\n - name: Tracked tree unchanged\n run: git diff --exit-code\n - name: Preserve logs and receipt\n if: always()\n uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9\n with:\n name: cap-first-exit-lean-${{ github.run_id }}-${{ github.run_attempt }}\n path: |\n frontiers/cap_first_exit_lean_20261002/.lake/evidence/\n frontiers/cap_first_exit_lean_20261002/.lake/auditor-selftest/\n include-hidden-files: true\n if-no-files-found: error\n retention-days: 90\n" + } + ], + "scope": "Historical bounded review/discovery only; no final-gate or CBZ-0 completion claim." +}